Teams

View and manage teams within Datadog. See the Teams page for more information.

GET https://api.ap1.datadoghq.com/api/v2/teamhttps://api.datadoghq.eu/api/v2/teamhttps://api.ddog-gov.com/api/v2/teamhttps://api.datadoghq.com/api/v2/teamhttps://api.us3.datadoghq.com/api/v2/teamhttps://api.us5.datadoghq.com/api/v2/team

개요

Get all teams. Can be used to search for teams using the filter[keyword] and filter[me] query parameters. This endpoint requires the teams_read permission.

OAuth apps require the teams_read authorization scope to access this endpoint.

인수

쿼리 문자열

이름

유형

설명

page[number]

integer

Specific page number to return.

page[size]

integer

Size for a given page. The maximum allowed value is 100.

sort

enum

Specifies the order of the returned teams
Allowed enum values: name, -name, user_count, -user_count

include

array

Included related resources optionally requested. Allowed enum values: team_links, user_team_permissions

filter[keyword]

string

Search query. Can be team name, team handle, or email of team member

filter[me]

boolean

When true, only returns teams the current user belongs to

fields[team]

array

List of fields that need to be fetched.

응답

OK

Response with multiple teams

Expand All

항목

유형

설명

data

[object]

Teams response data

attributes [required]

object

Team attributes

avatar

string

Unicode representation of the avatar for the team, limited to a single grapheme

banner

int64

Banner selection for the team

created_at

date-time

Creation date of the team

description

string

Free-form markdown description/content for the team's homepage

handle [required]

string

The team's identifier

hidden_modules

[string]

Collection of hidden modules for the team

link_count

int32

The number of links belonging to the team

modified_at

date-time

Modification date of the team

name [required]

string

The name of the team

summary

string

A brief summary of the team, derived from the description

user_count

int32

The number of users belonging to the team

visible_modules

[string]

Collection of visible modules for the team

id [required]

string

The team's identifier

relationships

object

Resources related to a team

team_links

object

Relationship between a team and a team link

data

[object]

Related team links

id [required]

string

The team link's identifier

type [required]

enum

Team link type Allowed enum values: team_links

default: team_links

links

object

Links attributes.

related

string

Related link.

user_team_permissions

object

Relationship between a user team permission and a team

data

object

Related user team permission data

id [required]

string

The ID of the user team permission

type [required]

enum

User team permission type Allowed enum values: user_team_permissions

default: user_team_permissions

links

object

Links attributes.

related

string

Related link.

type [required]

enum

Team type Allowed enum values: team

default: team

included

[ <oneOf>]

Resources related to the team

Option 1

object

User object returned by the API.

attributes

object

Attributes of user object returned by the API.

created_at

date-time

Creation time of the user.

disabled

boolean

Whether the user is disabled.

email

string

Email of the user.

handle

string

Handle of the user.

icon

string

URL of the user's icon.

mfa_enabled

boolean

If user has MFA enabled.

modified_at

date-time

Time that the user was last modified.

name

string

Name of the user.

service_account

boolean

Whether the user is a service account.

status

string

Status of the user.

title

string

Title of the user.

verified

boolean

Whether the user is verified.

id

string

ID of the user.

relationships

object

Relationships of the user object returned by the API.

org

object

Relationship to an organization.

data [required]

object

Relationship to organization object.

id [required]

string

ID of the organization.

type [required]

enum

Organizations resource type. Allowed enum values: orgs

default: orgs

other_orgs

object

Relationship to organizations.

data [required]

[object]

Relationships to organization objects.

id [required]

string

ID of the organization.

type [required]

enum

Organizations resource type. Allowed enum values: orgs

default: orgs

other_users

object

Relationship to users.

data [required]

[object]

Relationships to user objects.

id [required]

string

A unique identifier that represents the user.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

roles

object

Relationship to roles.

data

[object]

An array containing type and the unique identifier of a role.

id

string

The unique identifier of the role.

type

enum

Roles type. Allowed enum values: roles

default: roles

type

enum

Users resource type. Allowed enum values: users

default: users

Option 2

object

Team link

attributes [required]

object

Team link attributes

label [required]

string

The link's label

position

int32

The link's position, used to sort links for the team

team_id

string

ID of the team the link is associated with

url [required]

string

The URL for the link

id [required]

string

The team link's identifier

type [required]

enum

Team link type Allowed enum values: team_links

default: team_links

Option 3

object

A user's permissions for a given team

attributes

object

User team permission attributes

permissions

object

Object of team permission actions and boolean values that a logged in user can perform on this team.

id [required]

string

The user team permission's identifier

type [required]

enum

User team permission type Allowed enum values: user_team_permissions

default: user_team_permissions

links

object

Teams response links.

first

string

First link.

last

string

Last link.

next

string

Next link.

prev

string

Previous link.

self

string

Current link.

meta

object

Teams response metadata.

pagination

object

Teams response metadata.

first_offset

int64

The first offset.

last_offset

int64

The last offset.

limit

int64

Pagination limit.

next_offset

int64

The next offset.

offset

int64

The offset.

prev_offset

int64

The previous offset.

total

int64

Total results.

type

string

Offset type.

{
  "data": [
    {
      "attributes": {
        "avatar": "🥑",
        "banner": "integer",
        "created_at": "2019-09-19T10:00:00.000Z",
        "description": "string",
        "handle": "example-team",
        "hidden_modules": [],
        "link_count": "integer",
        "modified_at": "2019-09-19T10:00:00.000Z",
        "name": "Example Team",
        "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",
        "mfa_enabled": false,
        "modified_at": "2019-09-19T10:00:00.000Z",
        "name": "string",
        "service_account": false,
        "status": "string",
        "title": "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"
    }
  ],
  "links": {
    "first": "string",
    "last": "string",
    "next": "string",
    "prev": "string",
    "self": "string"
  },
  "meta": {
    "pagination": {
      "first_offset": "integer",
      "last_offset": "integer",
      "limit": "integer",
      "next_offset": "integer",
      "offset": "integer",
      "prev_offset": "integer",
      "total": "integer",
      "type": "string"
    }
  }
}

Forbidden

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

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

코드 사례

                  # Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get all teams returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.teams_api import TeamsApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = TeamsApi(api_client)
    response = api_instance.list_teams()

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get all teams returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::TeamsAPI.new
p api_instance.list_teams()

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get all teams 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() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewTeamsApi(apiClient)
	resp, r, err := api.ListTeams(ctx, *datadogV2.NewListTeamsOptionalParameters())

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

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

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get all teams 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.TeamsResponse;

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

    try {
      TeamsResponse result = apiInstance.listTeams();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TeamsApi#listTeams");
      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 and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get all teams returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_teams::ListTeamsOptionalParams;
use datadog_api_client::datadogV2::api_teams::TeamsAPI;

#[tokio::main]
async fn main() {
    let configuration = datadog::Configuration::new();
    let api = TeamsAPI::with_config(configuration);
    let resp = api.list_teams(ListTeamsOptionalParams::default()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get all teams returns "OK" response
 */

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

const configuration = client.createConfiguration();
const apiInstance = new v2.TeamsApi(configuration);

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

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

GET https://api.ap1.datadoghq.com/api/v2/users/{user_uuid}/membershipshttps://api.datadoghq.eu/api/v2/users/{user_uuid}/membershipshttps://api.ddog-gov.com/api/v2/users/{user_uuid}/membershipshttps://api.datadoghq.com/api/v2/users/{user_uuid}/membershipshttps://api.us3.datadoghq.com/api/v2/users/{user_uuid}/membershipshttps://api.us5.datadoghq.com/api/v2/users/{user_uuid}/memberships

개요

Get a list of memberships for a user This endpoint requires the teams_read permission.

OAuth apps require the teams_read authorization scope to access this endpoint.

인수

경로 파라미터

이름

유형

설명

user_uuid [required]

string

None

응답

Represents a user's association to a team

Team memberships response

Expand All

항목

유형

설명

data

[object]

Team memberships response data

attributes

object

Team membership attributes

provisioned_by

string

The mechanism responsible for provisioning the team relationship. Possible values: null for added by a user, "service_account" if added by a service account, and "saml_mapping" if provisioned via SAML mapping.

provisioned_by_id

string

UUID of the User or Service Account who provisioned this team membership, or null if provisioned via SAML mapping.

role

enum

The user's role within the team Allowed enum values: admin

id [required]

string

The ID of a user's relationship with a team

relationships

object

Relationship between membership and a user

team

object

Relationship between team membership and team

data [required]

object

The team associated with the membership

id [required]

string

The ID of the team associated with the membership

type [required]

enum

User team team type Allowed enum values: team

default: team

user

object

Relationship between team membership and user

data [required]

object

A user's relationship with a team

id [required]

string

The ID of the user associated with the team

type [required]

enum

User team user type Allowed enum values: users

default: users

type [required]

enum

Team membership type Allowed enum values: team_memberships

default: team_memberships

included

[ <oneOf>]

Resources related to the team memberships

Option 1

object

User object returned by the API.

attributes

object

Attributes of user object returned by the API.

created_at

date-time

Creation time of the user.

disabled

boolean

Whether the user is disabled.

email

string

Email of the user.

handle

string

Handle of the user.

icon

string

URL of the user's icon.

mfa_enabled

boolean

If user has MFA enabled.

modified_at

date-time

Time that the user was last modified.

name

string

Name of the user.

service_account

boolean

Whether the user is a service account.

status

string

Status of the user.

title

string

Title of the user.

verified

boolean

Whether the user is verified.

id

string

ID of the user.

relationships

object

Relationships of the user object returned by the API.

org

object

Relationship to an organization.

data [required]

object

Relationship to organization object.

id [required]

string

ID of the organization.

type [required]

enum

Organizations resource type. Allowed enum values: orgs

default: orgs

other_orgs

object

Relationship to organizations.

data [required]

[object]

Relationships to organization objects.

id [required]

string

ID of the organization.

type [required]

enum

Organizations resource type. Allowed enum values: orgs

default: orgs

other_users

object

Relationship to users.

data [required]

[object]

Relationships to user objects.

id [required]

string

A unique identifier that represents the user.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

roles

object

Relationship to roles.

data

[object]

An array containing type and the unique identifier of a role.

id

string

The unique identifier of the role.

type

enum

Roles type. Allowed enum values: roles

default: roles

type

enum

Users resource type. Allowed enum values: users

default: users

Option 2

object

A team

attributes [required]

object

Team attributes

avatar

string

Unicode representation of the avatar for the team, limited to a single grapheme

banner

int64

Banner selection for the team

created_at

date-time

Creation date of the team

description

string

Free-form markdown description/content for the team's homepage

handle [required]

string

The team's identifier

hidden_modules

[string]

Collection of hidden modules for the team

link_count

int32

The number of links belonging to the team

modified_at

date-time

Modification date of the team

name [required]

string

The name of the team

summary

string

A brief summary of the team, derived from the description

user_count

int32

The number of users belonging to the team

visible_modules

[string]

Collection of visible modules for the team

id [required]

string

The team's identifier

relationships

object

Resources related to a team

team_links

object

Relationship between a team and a team link

data

[object]

Related team links

id [required]

string

The team link's identifier

type [required]

enum

Team link type Allowed enum values: team_links

default: team_links

links

object

Links attributes.

related

string

Related link.

user_team_permissions

object

Relationship between a user team permission and a team

data

object

Related user team permission data

id [required]

string

The ID of the user team permission

type [required]

enum

User team permission type Allowed enum values: user_team_permissions

default: user_team_permissions

links

object

Links attributes.

related

string

Related link.

type [required]

enum

Team type Allowed enum values: team

default: team

links

object

Teams response links.

first

string

First link.

last

string

Last link.

next

string

Next link.

prev

string

Previous link.

self

string

Current link.

meta

object

Teams response metadata.

pagination

object

Teams response metadata.

first_offset

int64

The first offset.

last_offset

int64

The last offset.

limit

int64

Pagination limit.

next_offset

int64

The next offset.

offset

int64

The offset.

prev_offset

int64

The previous offset.

total

int64

Total results.

type

string

Offset type.

{
  "data": [
    {
      "attributes": {
        "provisioned_by": "string",
        "provisioned_by_id": "string",
        "role": "string"
      },
      "id": "TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835",
      "relationships": {
        "team": {
          "data": {
            "id": "d7e15d9d-d346-43da-81d8-3d9e71d9a5e9",
            "type": "team"
          }
        },
        "user": {
          "data": {
            "id": "b8626d7e-cedd-11eb-abf5-da7ad0900001",
            "type": "users"
          }
        }
      },
      "type": "team_memberships"
    }
  ],
  "included": [
    {
      "attributes": {
        "created_at": "2019-09-19T10:00:00.000Z",
        "disabled": false,
        "email": "string",
        "handle": "string",
        "icon": "string",
        "mfa_enabled": false,
        "modified_at": "2019-09-19T10:00:00.000Z",
        "name": "string",
        "service_account": false,
        "status": "string",
        "title": "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"
    }
  ],
  "links": {
    "first": "string",
    "last": "string",
    "next": "string",
    "prev": "string",
    "self": "string"
  },
  "meta": {
    "pagination": {
      "first_offset": "integer",
      "last_offset": "integer",
      "limit": "integer",
      "next_offset": "integer",
      "offset": "integer",
      "prev_offset": "integer",
      "total": "integer",
      "type": "string"
    }
  }
}

API error response.

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

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

Too many requests

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

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

코드 사례

                  # Path parameters
export user_uuid="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/users/${user_uuid}/memberships" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get user memberships returns "Represents a user's association to a team" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.teams_api import TeamsApi

# there is a valid "user" in the system
USER_DATA_ID = environ["USER_DATA_ID"]

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = TeamsApi(api_client)
    response = api_instance.get_user_memberships(
        user_uuid=USER_DATA_ID,
    )

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get user memberships returns "Represents a user's association to a team" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::TeamsAPI.new

# there is a valid "user" in the system
USER_DATA_ID = ENV["USER_DATA_ID"]
p api_instance.get_user_memberships(USER_DATA_ID)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get user memberships returns "Represents a user's association to a team" 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 "user" in the system
	UserDataID := os.Getenv("USER_DATA_ID")

	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewTeamsApi(apiClient)
	resp, r, err := api.GetUserMemberships(ctx, UserDataID)

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

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

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get user memberships returns "Represents a user's association to a team" 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.UserTeamsResponse;

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

    // there is a valid "user" in the system
    String USER_DATA_ID = System.getenv("USER_DATA_ID");

    try {
      UserTeamsResponse result = apiInstance.getUserMemberships(USER_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling TeamsApi#getUserMemberships");
      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 and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get user memberships returns "Represents a user's association to a team"
// response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_teams::TeamsAPI;

#[tokio::main]
async fn main() {
    // there is a valid "user" in the system
    let user_data_id = std::env::var("USER_DATA_ID").unwrap();
    let configuration = datadog::Configuration::new();
    let api = TeamsAPI::with_config(configuration);
    let resp = api.get_user_memberships(user_data_id.clone()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get user memberships returns "Represents a user's association to a team" response
 */

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

const configuration = client.createConfiguration();
const apiInstance = new v2.TeamsApi(configuration);

// there is a valid "user" in the system
const USER_DATA_ID = process.env.USER_DATA_ID as string;

const params: v2.TeamsApiGetUserMembershipsRequest = {
  userUuid: USER_DATA_ID,
};

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

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

POST https://api.ap1.datadoghq.com/api/v2/teamhttps://api.datadoghq.eu/api/v2/teamhttps://api.ddog-gov.com/api/v2/teamhttps://api.datadoghq.com/api/v2/teamhttps://api.us3.datadoghq.com/api/v2/teamhttps://api.us5.datadoghq.com/api/v2/team

개요

Create a new team. User IDs passed through the users relationship field are added to the team. This endpoint requires all of the following permissions:

  • teams_read
  • teams_manage

  • OAuth apps require the teams_read, teams_manage authorization scope to access this endpoint.

    요청

    Body Data (required)

    Expand All

    항목

    유형

    설명

    data [required]

    object

    Team create

    attributes [required]

    object

    Team creation attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    name [required]

    string

    The name of the team

    visible_modules

    [string]

    Collection of visible modules for the team

    relationships

    object

    Relationships formed with the team on creation

    users

    object

    Relationship to users.

    data [required]

    [object]

    Relationships to user objects.

    id [required]

    string

    A unique identifier that represents the user.

    type [required]

    enum

    Users resource type. Allowed enum values: users

    default: users

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

    {
      "data": {
        "attributes": {
          "handle": "test-handle-a0fc0297eb519635",
          "name": "test-name-a0fc0297eb519635"
        },
        "relationships": {
          "users": {
            "data": []
          }
        },
        "type": "team"
      }
    }
    {
      "data": {
        "attributes": {
          "handle": "test-handle-a0fc0297eb519635",
          "name": "test-name-a0fc0297eb519635",
          "avatar": "\ud83e\udd51",
          "banner": 7,
          "visible_modules": [
            "m1",
            "m2"
          ],
          "hidden_modules": [
            "m3"
          ]
        },
        "type": "team"
      }
    }

    응답

    CREATED

    Response with a team

    Expand All

    항목

    유형

    설명

    data

    object

    A team

    attributes [required]

    object

    Team attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    created_at

    date-time

    Creation date of the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    link_count

    int32

    The number of links belonging to the team

    modified_at

    date-time

    Modification date of the team

    name [required]

    string

    The name of the team

    summary

    string

    A brief summary of the team, derived from the description

    user_count

    int32

    The number of users belonging to the team

    visible_modules

    [string]

    Collection of visible modules for the team

    id [required]

    string

    The team's identifier

    relationships

    object

    Resources related to a team

    team_links

    object

    Relationship between a team and a team link

    data

    [object]

    Related team links

    id [required]

    string

    The team link's identifier

    type [required]

    enum

    Team link type Allowed enum values: team_links

    default: team_links

    links

    object

    Links attributes.

    related

    string

    Related link.

    user_team_permissions

    object

    Relationship between a user team permission and a team

    data

    object

    Related user team permission data

    id [required]

    string

    The ID of the user team permission

    type [required]

    enum

    User team permission type Allowed enum values: user_team_permissions

    default: user_team_permissions

    links

    object

    Links attributes.

    related

    string

    Related link.

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

    {
      "data": {
        "attributes": {
          "avatar": "🥑",
          "banner": "integer",
          "created_at": "2019-09-19T10:00:00.000Z",
          "description": "string",
          "handle": "example-team",
          "hidden_modules": [],
          "link_count": "integer",
          "modified_at": "2019-09-19T10:00:00.000Z",
          "name": "Example Team",
          "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"
      }
    }

    Forbidden

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                              # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "handle": "test-handle-a0fc0297eb519635", "name": "test-name-a0fc0297eb519635" }, "relationships": { "users": { "data": [] } }, "type": "team" } } EOF
                              # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "handle": "test-handle-a0fc0297eb519635", "name": "test-name-a0fc0297eb519635", "avatar": "\ud83e\udd51", "banner": 7, "visible_modules": [ "m1", "m2" ], "hidden_modules": [ "m3" ] }, "type": "team" } } EOF
    // Create a team returns "CREATED" 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() {
    	body := datadogV2.TeamCreateRequest{
    		Data: datadogV2.TeamCreate{
    			Attributes: datadogV2.TeamCreateAttributes{
    				Handle: "test-handle-a0fc0297eb519635",
    				Name:   "test-name-a0fc0297eb519635",
    			},
    			Relationships: &datadogV2.TeamCreateRelationships{
    				Users: &datadogV2.RelationshipToUsers{
    					Data: []datadogV2.RelationshipToUserData{},
    				},
    			},
    			Type: datadogV2.TEAMTYPE_TEAM,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewTeamsApi(apiClient)
    	resp, r, err := api.CreateTeam(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.CreateTeam`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `TeamsApi.CreateTeam`:\n%s\n", responseContent)
    }
    
    // Create a team with V2 fields returns "CREATED" 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() {
    	body := datadogV2.TeamCreateRequest{
    		Data: datadogV2.TeamCreate{
    			Attributes: datadogV2.TeamCreateAttributes{
    				Handle: "test-handle-a0fc0297eb519635",
    				Name:   "test-name-a0fc0297eb519635",
    				Avatar: *datadog.NewNullableString(datadog.PtrString("🥑")),
    				Banner: *datadog.NewNullableInt64(datadog.PtrInt64(7)),
    				VisibleModules: []string{
    					"m1",
    					"m2",
    				},
    				HiddenModules: []string{
    					"m3",
    				},
    			},
    			Type: datadogV2.TEAMTYPE_TEAM,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewTeamsApi(apiClient)
    	resp, r, err := api.CreateTeam(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.CreateTeam`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `TeamsApi.CreateTeam`:\n%s\n", responseContent)
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Create a team returns "CREATED" 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.RelationshipToUsers;
    import com.datadog.api.client.v2.model.TeamCreate;
    import com.datadog.api.client.v2.model.TeamCreateAttributes;
    import com.datadog.api.client.v2.model.TeamCreateRelationships;
    import com.datadog.api.client.v2.model.TeamCreateRequest;
    import com.datadog.api.client.v2.model.TeamResponse;
    import com.datadog.api.client.v2.model.TeamType;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        TeamsApi apiInstance = new TeamsApi(defaultClient);
    
        TeamCreateRequest body =
            new TeamCreateRequest()
                .data(
                    new TeamCreate()
                        .attributes(
                            new TeamCreateAttributes()
                                .handle("test-handle-a0fc0297eb519635")
                                .name("test-name-a0fc0297eb519635"))
                        .relationships(new TeamCreateRelationships().users(new RelationshipToUsers()))
                        .type(TeamType.TEAM));
    
        try {
          TeamResponse result = apiInstance.createTeam(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling TeamsApi#createTeam");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    
    // Create a team with V2 fields returns "CREATED" 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.TeamCreate;
    import com.datadog.api.client.v2.model.TeamCreateAttributes;
    import com.datadog.api.client.v2.model.TeamCreateRequest;
    import com.datadog.api.client.v2.model.TeamResponse;
    import com.datadog.api.client.v2.model.TeamType;
    import java.util.Arrays;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        TeamsApi apiInstance = new TeamsApi(defaultClient);
    
        TeamCreateRequest body =
            new TeamCreateRequest()
                .data(
                    new TeamCreate()
                        .attributes(
                            new TeamCreateAttributes()
                                .handle("test-handle-a0fc0297eb519635")
                                .name("test-name-a0fc0297eb519635")
                                .avatar("🥑")
                                .banner(7L)
                                .visibleModules(Arrays.asList("m1", "m2"))
                                .hiddenModules(Collections.singletonList("m3")))
                        .type(TeamType.TEAM));
    
        try {
          TeamResponse result = apiInstance.createTeam(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling TeamsApi#createTeam");
          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 and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    """
    Create a team returns "CREATED" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.teams_api import TeamsApi
    from datadog_api_client.v2.model.relationship_to_users import RelationshipToUsers
    from datadog_api_client.v2.model.team_create import TeamCreate
    from datadog_api_client.v2.model.team_create_attributes import TeamCreateAttributes
    from datadog_api_client.v2.model.team_create_relationships import TeamCreateRelationships
    from datadog_api_client.v2.model.team_create_request import TeamCreateRequest
    from datadog_api_client.v2.model.team_type import TeamType
    
    body = TeamCreateRequest(
        data=TeamCreate(
            attributes=TeamCreateAttributes(
                handle="test-handle-a0fc0297eb519635",
                name="test-name-a0fc0297eb519635",
            ),
            relationships=TeamCreateRelationships(
                users=RelationshipToUsers(
                    data=[],
                ),
            ),
            type=TeamType.TEAM,
        ),
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TeamsApi(api_client)
        response = api_instance.create_team(body=body)
    
        print(response)
    
    """
    Create a team with V2 fields returns "CREATED" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.teams_api import TeamsApi
    from datadog_api_client.v2.model.team_create import TeamCreate
    from datadog_api_client.v2.model.team_create_attributes import TeamCreateAttributes
    from datadog_api_client.v2.model.team_create_request import TeamCreateRequest
    from datadog_api_client.v2.model.team_type import TeamType
    
    body = TeamCreateRequest(
        data=TeamCreate(
            attributes=TeamCreateAttributes(
                handle="test-handle-a0fc0297eb519635",
                name="test-name-a0fc0297eb519635",
                avatar="🥑",
                banner=7,
                visible_modules=[
                    "m1",
                    "m2",
                ],
                hidden_modules=[
                    "m3",
                ],
            ),
            type=TeamType.TEAM,
        ),
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TeamsApi(api_client)
        response = api_instance.create_team(body=body)
    
        print(response)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Create a team returns "CREATED" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::TeamsAPI.new
    
    body = DatadogAPIClient::V2::TeamCreateRequest.new({
      data: DatadogAPIClient::V2::TeamCreate.new({
        attributes: DatadogAPIClient::V2::TeamCreateAttributes.new({
          handle: "test-handle-a0fc0297eb519635",
          name: "test-name-a0fc0297eb519635",
        }),
        relationships: DatadogAPIClient::V2::TeamCreateRelationships.new({
          users: DatadogAPIClient::V2::RelationshipToUsers.new({
            data: [],
          }),
        }),
        type: DatadogAPIClient::V2::TeamType::TEAM,
      }),
    })
    p api_instance.create_team(body)
    
    # Create a team with V2 fields returns "CREATED" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::TeamsAPI.new
    
    body = DatadogAPIClient::V2::TeamCreateRequest.new({
      data: DatadogAPIClient::V2::TeamCreate.new({
        attributes: DatadogAPIClient::V2::TeamCreateAttributes.new({
          handle: "test-handle-a0fc0297eb519635",
          name: "test-name-a0fc0297eb519635",
          avatar: "🥑",
          banner: 7,
          visible_modules: [
            "m1",
            "m2",
          ],
          hidden_modules: [
            "m3",
          ],
        }),
        type: DatadogAPIClient::V2::TeamType::TEAM,
      }),
    })
    p api_instance.create_team(body)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Create a team returns "CREATED" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_teams::TeamsAPI;
    use datadog_api_client::datadogV2::model::RelationshipToUsers;
    use datadog_api_client::datadogV2::model::TeamCreate;
    use datadog_api_client::datadogV2::model::TeamCreateAttributes;
    use datadog_api_client::datadogV2::model::TeamCreateRelationships;
    use datadog_api_client::datadogV2::model::TeamCreateRequest;
    use datadog_api_client::datadogV2::model::TeamType;
    
    #[tokio::main]
    async fn main() {
        let body = TeamCreateRequest::new(
            TeamCreate::new(
                TeamCreateAttributes::new(
                    "test-handle-a0fc0297eb519635".to_string(),
                    "test-name-a0fc0297eb519635".to_string(),
                ),
                TeamType::TEAM,
            )
            .relationships(TeamCreateRelationships::new().users(RelationshipToUsers::new(vec![]))),
        );
        let configuration = datadog::Configuration::new();
        let api = TeamsAPI::with_config(configuration);
        let resp = api.create_team(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    
    // Create a team with V2 fields returns "CREATED" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_teams::TeamsAPI;
    use datadog_api_client::datadogV2::model::TeamCreate;
    use datadog_api_client::datadogV2::model::TeamCreateAttributes;
    use datadog_api_client::datadogV2::model::TeamCreateRequest;
    use datadog_api_client::datadogV2::model::TeamType;
    
    #[tokio::main]
    async fn main() {
        let body = TeamCreateRequest::new(TeamCreate::new(
            TeamCreateAttributes::new(
                "test-handle-a0fc0297eb519635".to_string(),
                "test-name-a0fc0297eb519635".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.create_team(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Create a team returns "CREATED" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.TeamsApi(configuration);
    
    const params: v2.TeamsApiCreateTeamRequest = {
      body: {
        data: {
          attributes: {
            handle: "test-handle-a0fc0297eb519635",
            name: "test-name-a0fc0297eb519635",
          },
          relationships: {
            users: {
              data: [],
            },
          },
          type: "team",
        },
      },
    };
    
    apiInstance
      .createTeam(params)
      .then((data: v2.TeamResponse) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    
    /**
     * Create a team with V2 fields returns "CREATED" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.TeamsApi(configuration);
    
    const params: v2.TeamsApiCreateTeamRequest = {
      body: {
        data: {
          attributes: {
            handle: "test-handle-a0fc0297eb519635",
            name: "test-name-a0fc0297eb519635",
            avatar: "🥑",
            banner: 7,
            visibleModules: ["m1", "m2"],
            hiddenModules: ["m3"],
          },
          type: "team",
        },
      },
    };
    
    apiInstance
      .createTeam(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 and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

    GET https://api.ap1.datadoghq.com/api/v2/team/{team_id}https://api.datadoghq.eu/api/v2/team/{team_id}https://api.ddog-gov.com/api/v2/team/{team_id}https://api.datadoghq.com/api/v2/team/{team_id}https://api.us3.datadoghq.com/api/v2/team/{team_id}https://api.us5.datadoghq.com/api/v2/team/{team_id}

    개요

    Get a single team using the team’s id. This endpoint requires the teams_read permission.

    OAuth apps require the teams_read authorization scope to access this endpoint.

    인수

    경로 파라미터

    이름

    유형

    설명

    team_id [required]

    string

    None

    응답

    OK

    Response with a team

    Expand All

    항목

    유형

    설명

    data

    object

    A team

    attributes [required]

    object

    Team attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    created_at

    date-time

    Creation date of the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    link_count

    int32

    The number of links belonging to the team

    modified_at

    date-time

    Modification date of the team

    name [required]

    string

    The name of the team

    summary

    string

    A brief summary of the team, derived from the description

    user_count

    int32

    The number of users belonging to the team

    visible_modules

    [string]

    Collection of visible modules for the team

    id [required]

    string

    The team's identifier

    relationships

    object

    Resources related to a team

    team_links

    object

    Relationship between a team and a team link

    data

    [object]

    Related team links

    id [required]

    string

    The team link's identifier

    type [required]

    enum

    Team link type Allowed enum values: team_links

    default: team_links

    links

    object

    Links attributes.

    related

    string

    Related link.

    user_team_permissions

    object

    Relationship between a user team permission and a team

    data

    object

    Related user team permission data

    id [required]

    string

    The ID of the user team permission

    type [required]

    enum

    User team permission type Allowed enum values: user_team_permissions

    default: user_team_permissions

    links

    object

    Links attributes.

    related

    string

    Related link.

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

    {
      "data": {
        "attributes": {
          "avatar": "🥑",
          "banner": "integer",
          "created_at": "2019-09-19T10:00:00.000Z",
          "description": "string",
          "handle": "example-team",
          "hidden_modules": [],
          "link_count": "integer",
          "modified_at": "2019-09-19T10:00:00.000Z",
          "name": "Example Team",
          "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"
      }
    }

    Forbidden

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Path parameters
    export team_id="CHANGE_ME"
    # Curl command
    curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team/${team_id}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Get 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
    
    # there is a valid "dd_team" in the system
    DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TeamsApi(api_client)
        response = api_instance.get_team(
            team_id=DD_TEAM_DATA_ID,
        )
    
        print(response)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Get a team returns "OK" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::TeamsAPI.new
    
    # there is a valid "dd_team" in the system
    DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
    p api_instance.get_team(DD_TEAM_DATA_ID)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Get 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
    	DdTeamDataID := os.Getenv("DD_TEAM_DATA_ID")
    
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewTeamsApi(apiClient)
    	resp, r, err := api.GetTeam(ctx, DdTeamDataID)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.GetTeam`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `TeamsApi.GetTeam`:\n%s\n", responseContent)
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Get 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;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        TeamsApi apiInstance = new TeamsApi(defaultClient);
    
        // there is a valid "dd_team" in the system
        String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");
    
        try {
          TeamResponse result = apiInstance.getTeam(DD_TEAM_DATA_ID);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling TeamsApi#getTeam");
          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 and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    // Get a team returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_teams::TeamsAPI;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "dd_team" in the system
        let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
        let configuration = datadog::Configuration::new();
        let api = TeamsAPI::with_config(configuration);
        let resp = api.get_team(dd_team_data_id.clone()).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Get a team returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.TeamsApi(configuration);
    
    // there is a valid "dd_team" in the system
    const DD_TEAM_DATA_ID = process.env.DD_TEAM_DATA_ID as string;
    
    const params: v2.TeamsApiGetTeamRequest = {
      teamId: DD_TEAM_DATA_ID,
    };
    
    apiInstance
      .getTeam(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 and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

    PATCH https://api.ap1.datadoghq.com/api/v2/team/{team_id}https://api.datadoghq.eu/api/v2/team/{team_id}https://api.ddog-gov.com/api/v2/team/{team_id}https://api.datadoghq.com/api/v2/team/{team_id}https://api.us3.datadoghq.com/api/v2/team/{team_id}https://api.us5.datadoghq.com/api/v2/team/{team_id}

    개요

    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 to access this endpoint.

    인수

    경로 파라미터

    이름

    유형

    설명

    team_id [required]

    string

    None

    요청

    Body Data (required)

    Expand All

    항목

    유형

    설명

    data [required]

    object

    Team update request

    attributes [required]

    object

    Team update attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    name [required]

    string

    The name of the team

    visible_modules

    [string]

    Collection of visible modules for the team

    relationships

    object

    Team update relationships

    team_links

    object

    Relationship between a team and a team link

    data

    [object]

    Related team links

    id [required]

    string

    The team link's identifier

    type [required]

    enum

    Team link type Allowed enum values: team_links

    default: team_links

    links

    object

    Links attributes.

    related

    string

    Related link.

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

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

    응답

    OK

    Response with a team

    Expand All

    항목

    유형

    설명

    data

    object

    A team

    attributes [required]

    object

    Team attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    created_at

    date-time

    Creation date of the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    link_count

    int32

    The number of links belonging to the team

    modified_at

    date-time

    Modification date of the team

    name [required]

    string

    The name of the team

    summary

    string

    A brief summary of the team, derived from the description

    user_count

    int32

    The number of users belonging to the team

    visible_modules

    [string]

    Collection of visible modules for the team

    id [required]

    string

    The team's identifier

    relationships

    object

    Resources related to a team

    team_links

    object

    Relationship between a team and a team link

    data

    [object]

    Related team links

    id [required]

    string

    The team link's identifier

    type [required]

    enum

    Team link type Allowed enum values: team_links

    default: team_links

    links

    object

    Links attributes.

    related

    string

    Related link.

    user_team_permissions

    object

    Relationship between a user team permission and a team

    data

    object

    Related user team permission data

    id [required]

    string

    The ID of the user team permission

    type [required]

    enum

    User team permission type Allowed enum values: user_team_permissions

    default: user_team_permissions

    links

    object

    Links attributes.

    related

    string

    Related link.

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

    {
      "data": {
        "attributes": {
          "avatar": "🥑",
          "banner": "integer",
          "created_at": "2019-09-19T10:00:00.000Z",
          "description": "string",
          "handle": "example-team",
          "hidden_modules": [],
          "link_count": "integer",
          "modified_at": "2019-09-19T10:00:00.000Z",
          "name": "Example Team",
          "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"
      }
    }

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Forbidden

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                              # Path parameters
    export team_id="CHANGE_ME"
    # Curl command
    curl -X PATCH "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team/${team_id}" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "handle": "example-team", "name": "Example Team updated", "avatar": "\ud83e\udd51", "banner": 7, "hidden_modules": [ "m3" ], "visible_modules": [ "m1", "m2" ] }, "type": "team" } } EOF
    // 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())
    	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 and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // 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();
        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();
        }
      }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    """
    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()
    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 and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Update a team returns "OK" response
    
    require "datadog_api_client"
    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)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // 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());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Update a team returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    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));
    

    Instructions

    First install the library and its dependencies and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

    DELETE https://api.ap1.datadoghq.com/api/v2/team/{team_id}https://api.datadoghq.eu/api/v2/team/{team_id}https://api.ddog-gov.com/api/v2/team/{team_id}https://api.datadoghq.com/api/v2/team/{team_id}https://api.us3.datadoghq.com/api/v2/team/{team_id}https://api.us5.datadoghq.com/api/v2/team/{team_id}

    개요

    Remove a team using the team’s id. This endpoint requires all of the following permissions:

  • teams_read
  • teams_manage

  • OAuth apps require the teams_read, teams_manage authorization scope to access this endpoint.

    인수

    경로 파라미터

    이름

    유형

    설명

    team_id [required]

    string

    None

    응답

    No Content

    Forbidden

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Path parameters
    export team_id="CHANGE_ME"
    # Curl command
    curl -X DELETE "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team/${team_id}" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Remove a team returns "No Content" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.teams_api import TeamsApi
    
    # there is a valid "dd_team" in the system
    DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TeamsApi(api_client)
        api_instance.delete_team(
            team_id=DD_TEAM_DATA_ID,
        )
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Remove a team returns "No Content" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::TeamsAPI.new
    
    # there is a valid "dd_team" in the system
    DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
    api_instance.delete_team(DD_TEAM_DATA_ID)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Remove a team returns "No Content" response
    
    package main
    
    import (
    	"context"
    	"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
    	DdTeamDataID := os.Getenv("DD_TEAM_DATA_ID")
    
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewTeamsApi(apiClient)
    	r, err := api.DeleteTeam(ctx, DdTeamDataID)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `TeamsApi.DeleteTeam`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Remove a team returns "No Content" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.TeamsApi;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        TeamsApi apiInstance = new TeamsApi(defaultClient);
    
        // there is a valid "dd_team" in the system
        String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");
    
        try {
          apiInstance.deleteTeam(DD_TEAM_DATA_ID);
        } catch (ApiException e) {
          System.err.println("Exception when calling TeamsApi#deleteTeam");
          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 and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    // Remove a team returns "No Content" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_teams::TeamsAPI;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "dd_team" in the system
        let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
        let configuration = datadog::Configuration::new();
        let api = TeamsAPI::with_config(configuration);
        let resp = api.delete_team(dd_team_data_id.clone()).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Remove a team returns "No Content" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.TeamsApi(configuration);
    
    // there is a valid "dd_team" in the system
    const DD_TEAM_DATA_ID = process.env.DD_TEAM_DATA_ID as string;
    
    const params: v2.TeamsApiDeleteTeamRequest = {
      teamId: DD_TEAM_DATA_ID,
    };
    
    apiInstance
      .deleteTeam(params)
      .then((data: any) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    

    Instructions

    First install the library and its dependencies and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"

    GET https://api.ap1.datadoghq.com/api/v2/team/{team_id}/membershipshttps://api.datadoghq.eu/api/v2/team/{team_id}/membershipshttps://api.ddog-gov.com/api/v2/team/{team_id}/membershipshttps://api.datadoghq.com/api/v2/team/{team_id}/membershipshttps://api.us3.datadoghq.com/api/v2/team/{team_id}/membershipshttps://api.us5.datadoghq.com/api/v2/team/{team_id}/memberships

    개요

    Get a paginated list of members for a team This endpoint requires the teams_read permission.

    OAuth apps require the teams_read authorization scope to access this endpoint.

    인수

    경로 파라미터

    이름

    유형

    설명

    team_id [required]

    string

    None

    쿼리 문자열

    이름

    유형

    설명

    page[size]

    integer

    Size for a given page. The maximum allowed value is 100.

    page[number]

    integer

    Specific page number to return.

    sort

    enum

    Specifies the order of returned team memberships
    Allowed enum values: manager_name, -manager_name, name, -name, handle, -handle, email, -email

    filter[keyword]

    string

    Search query, can be user email or name

    응답

    Represents a user's association to a team

    Team memberships response

    Expand All

    항목

    유형

    설명

    data

    [object]

    Team memberships response data

    attributes

    object

    Team membership attributes

    provisioned_by

    string

    The mechanism responsible for provisioning the team relationship. Possible values: null for added by a user, "service_account" if added by a service account, and "saml_mapping" if provisioned via SAML mapping.

    provisioned_by_id

    string

    UUID of the User or Service Account who provisioned this team membership, or null if provisioned via SAML mapping.

    role

    enum

    The user's role within the team Allowed enum values: admin

    id [required]

    string

    The ID of a user's relationship with a team

    relationships

    object

    Relationship between membership and a user

    team

    object

    Relationship between team membership and team

    data [required]

    object

    The team associated with the membership

    id [required]

    string

    The ID of the team associated with the membership

    type [required]

    enum

    User team team type Allowed enum values: team

    default: team

    user

    object

    Relationship between team membership and user

    data [required]

    object

    A user's relationship with a team

    id [required]

    string

    The ID of the user associated with the team

    type [required]

    enum

    User team user type Allowed enum values: users

    default: users

    type [required]

    enum

    Team membership type Allowed enum values: team_memberships

    default: team_memberships

    included

    [ <oneOf>]

    Resources related to the team memberships

    Option 1

    object

    User object returned by the API.

    attributes

    object

    Attributes of user object returned by the API.

    created_at

    date-time

    Creation time of the user.

    disabled

    boolean

    Whether the user is disabled.

    email

    string

    Email of the user.

    handle

    string

    Handle of the user.

    icon

    string

    URL of the user's icon.

    mfa_enabled

    boolean

    If user has MFA enabled.

    modified_at

    date-time

    Time that the user was last modified.

    name

    string

    Name of the user.

    service_account

    boolean

    Whether the user is a service account.

    status

    string

    Status of the user.

    title

    string

    Title of the user.

    verified

    boolean

    Whether the user is verified.

    id

    string

    ID of the user.

    relationships

    object

    Relationships of the user object returned by the API.

    org

    object

    Relationship to an organization.

    data [required]

    object

    Relationship to organization object.

    id [required]

    string

    ID of the organization.

    type [required]

    enum

    Organizations resource type. Allowed enum values: orgs

    default: orgs

    other_orgs

    object

    Relationship to organizations.

    data [required]

    [object]

    Relationships to organization objects.

    id [required]

    string

    ID of the organization.

    type [required]

    enum

    Organizations resource type. Allowed enum values: orgs

    default: orgs

    other_users

    object

    Relationship to users.

    data [required]

    [object]

    Relationships to user objects.

    id [required]

    string

    A unique identifier that represents the user.

    type [required]

    enum

    Users resource type. Allowed enum values: users

    default: users

    roles

    object

    Relationship to roles.

    data

    [object]

    An array containing type and the unique identifier of a role.

    id

    string

    The unique identifier of the role.

    type

    enum

    Roles type. Allowed enum values: roles

    default: roles

    type

    enum

    Users resource type. Allowed enum values: users

    default: users

    Option 2

    object

    A team

    attributes [required]

    object

    Team attributes

    avatar

    string

    Unicode representation of the avatar for the team, limited to a single grapheme

    banner

    int64

    Banner selection for the team

    created_at

    date-time

    Creation date of the team

    description

    string

    Free-form markdown description/content for the team's homepage

    handle [required]

    string

    The team's identifier

    hidden_modules

    [string]

    Collection of hidden modules for the team

    link_count

    int32

    The number of links belonging to the team

    modified_at

    date-time

    Modification date of the team

    name [required]

    string

    The name of the team

    summary

    string

    A brief summary of the team, derived from the description

    user_count

    int32

    The number of users belonging to the team

    visible_modules

    [string]

    Collection of visible modules for the team

    id [required]

    string

    The team's identifier

    relationships

    object

    Resources related to a team

    team_links

    object

    Relationship between a team and a team link

    data

    [object]

    Related team links

    id [required]

    string

    The team link's identifier

    type [required]

    enum

    Team link type Allowed enum values: team_links

    default: team_links

    links

    object

    Links attributes.

    related

    string

    Related link.

    user_team_permissions

    object

    Relationship between a user team permission and a team

    data

    object

    Related user team permission data

    id [required]

    string

    The ID of the user team permission

    type [required]

    enum

    User team permission type Allowed enum values: user_team_permissions

    default: user_team_permissions

    links

    object

    Links attributes.

    related

    string

    Related link.

    type [required]

    enum

    Team type Allowed enum values: team

    default: team

    links

    object

    Teams response links.

    first

    string

    First link.

    last

    string

    Last link.

    next

    string

    Next link.

    prev

    string

    Previous link.

    self

    string

    Current link.

    meta

    object

    Teams response metadata.

    pagination

    object

    Teams response metadata.

    first_offset

    int64

    The first offset.

    last_offset

    int64

    The last offset.

    limit

    int64

    Pagination limit.

    next_offset

    int64

    The next offset.

    offset

    int64

    The offset.

    prev_offset

    int64

    The previous offset.

    total

    int64

    Total results.

    type

    string

    Offset type.

    {
      "data": [
        {
          "attributes": {
            "provisioned_by": "string",
            "provisioned_by_id": "string",
            "role": "string"
          },
          "id": "TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835",
          "relationships": {
            "team": {
              "data": {
                "id": "d7e15d9d-d346-43da-81d8-3d9e71d9a5e9",
                "type": "team"
              }
            },
            "user": {
              "data": {
                "id": "b8626d7e-cedd-11eb-abf5-da7ad0900001",
                "type": "users"
              }
            }
          },
          "type": "team_memberships"
        }
      ],
      "included": [
        {
          "attributes": {
            "created_at": "2019-09-19T10:00:00.000Z",
            "disabled": false,
            "email": "string",
            "handle": "string",
            "icon": "string",
            "mfa_enabled": false,
            "modified_at": "2019-09-19T10:00:00.000Z",
            "name": "string",
            "service_account": false,
            "status": "string",
            "title": "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"
        }
      ],
      "links": {
        "first": "string",
        "last": "string",
        "next": "string",
        "prev": "string",
        "self": "string"
      },
      "meta": {
        "pagination": {
          "first_offset": "integer",
          "last_offset": "integer",
          "limit": "integer",
          "next_offset": "integer",
          "offset": "integer",
          "prev_offset": "integer",
          "total": "integer",
          "type": "string"
        }
      }
    }

    Forbidden

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    API error response.

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    항목

    유형

    설명

    errors [required]

    [string]

    A list of errors.

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

    코드 사례

                      # Path parameters
    export team_id="CHANGE_ME"
    # Curl command
    curl -X GET "https://api.ap1.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/team/${team_id}/memberships" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Get team memberships returns "Represents a user's association to a team" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.teams_api import TeamsApi
    
    # there is a valid "dd_team" in the system
    DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = TeamsApi(api_client)
        response = api_instance.get_team_memberships(
            team_id=DD_TEAM_DATA_ID,
        )
    
        print(response)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"