Assign seats to users

POST https://api.ap1.datadoghq.com/api/v2/seats/usershttps://api.ap2.datadoghq.com/api/v2/seats/usershttps://api.datadoghq.eu/api/v2/seats/usershttps://api.ddog-gov.com/api/v2/seats/usershttps://api.us2.ddog-gov.com/api/v2/seats/usershttps://api.datadoghq.com/api/v2/seats/usershttps://api.us3.datadoghq.com/api/v2/seats/usershttps://api.us5.datadoghq.com/api/v2/seats/users

Overview

Assign seats to users for a product code. This endpoint requires any of the following permissions:

  • billing_edit
  • incident_write
  • on_call_write

  • Request

    Body Data (required)

    Expand All

    Field

    Type

    Description

    data

    object

    The data for the assign seats user request.

    attributes [required]

    object

    The attributes of the assign seats user request.

    product_code [required]

    string

    The product code for which to assign seats.

    user_uuids [required]

    [string]

    The list of user IDs to assign seats to.

    id

    string

    The ID of the assign seats user request.

    type [required]

    enum

    The type of the assign seats user request. Allowed enum values: seat-assignments

    default: seat-assignments

    {
      "data": {
        "attributes": {
          "product_code": "",
          "user_uuids": [
            ""
          ]
        },
        "id": "string",
        "type": "seat-assignments"
      }
    }

    Response

    Created

    The response body returned after successfully assigning seats to users.

    Expand All

    Field

    Type

    Description

    data

    object

    The data for the assign seats user response.

    attributes

    object

    The attributes of the assign seats user response.

    assigned_ids

    [string]

    The list of user IDs to which the seats were assigned.

    product_code

    string

    The product code for which the seats were assigned.

    id

    string

    The ID of the assign seats user response.

    type

    enum

    Seat assignments resource type. Allowed enum values: seat-assignments

    default: seat-assignments

    {
      "data": {
        "attributes": {
          "assigned_ids": [],
          "product_code": "string"
        },
        "id": "string",
        "type": "seat-assignments"
      }
    }

    Bad Request

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

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

    Unprocessable Entity

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

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

    Too many requests

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

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

    Code Example

                      ## default
    # 
    
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/seats/users" \ -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": { "product_code": "", "user_uuids": [ "" ] }, "type": "seat-assignments" } } EOF
    """
    Assign seats to users returns "Created" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.seats_api import SeatsApi
    from datadog_api_client.v2.model.assign_seats_user_request import AssignSeatsUserRequest
    from datadog_api_client.v2.model.assign_seats_user_request_data import AssignSeatsUserRequestData
    from datadog_api_client.v2.model.assign_seats_user_request_data_attributes import AssignSeatsUserRequestDataAttributes
    from datadog_api_client.v2.model.seat_assignments_data_type import SeatAssignmentsDataType
    
    # there is a valid "user" in the system
    USER_DATA_ID = environ["USER_DATA_ID"]
    
    body = AssignSeatsUserRequest(
        data=AssignSeatsUserRequestData(
            type=SeatAssignmentsDataType.SEAT_ASSIGNMENTS,
            attributes=AssignSeatsUserRequestDataAttributes(
                product_code="incident_response",
                user_uuids=[
                    USER_DATA_ID,
                ],
            ),
        ),
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = SeatsApi(api_client)
        response = api_instance.assign_seats_user(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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
    # Assign seats to users returns "Created" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::SeatsAPI.new
    
    # there is a valid "user" in the system
    USER_DATA_ID = ENV["USER_DATA_ID"]
    
    body = DatadogAPIClient::V2::AssignSeatsUserRequest.new({
      data: DatadogAPIClient::V2::AssignSeatsUserRequestData.new({
        type: DatadogAPIClient::V2::SeatAssignmentsDataType::SEAT_ASSIGNMENTS,
        attributes: DatadogAPIClient::V2::AssignSeatsUserRequestDataAttributes.new({
          product_code: "incident_response",
          user_uuids: [
            USER_DATA_ID,
          ],
        }),
      }),
    })
    p api_instance.assign_seats_user(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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
    // Assign seats to users 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() {
    	// there is a valid "user" in the system
    	UserDataID := os.Getenv("USER_DATA_ID")
    
    	body := datadogV2.AssignSeatsUserRequest{
    		Data: &datadogV2.AssignSeatsUserRequestData{
    			Type: datadogV2.SEATASSIGNMENTSDATATYPE_SEAT_ASSIGNMENTS,
    			Attributes: datadogV2.AssignSeatsUserRequestDataAttributes{
    				ProductCode: "incident_response",
    				UserUuids: []string{
    					UserDataID,
    				},
    			},
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSeatsApi(apiClient)
    	resp, r, err := api.AssignSeatsUser(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SeatsApi.AssignSeatsUser`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SeatsApi.AssignSeatsUser`:\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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
    // Assign seats to users returns "Created" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SeatsApi;
    import com.datadog.api.client.v2.model.AssignSeatsUserRequest;
    import com.datadog.api.client.v2.model.AssignSeatsUserRequestData;
    import com.datadog.api.client.v2.model.AssignSeatsUserRequestDataAttributes;
    import com.datadog.api.client.v2.model.AssignSeatsUserResponse;
    import com.datadog.api.client.v2.model.SeatAssignmentsDataType;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        SeatsApi apiInstance = new SeatsApi(defaultClient);
    
        // there is a valid "user" in the system
        String USER_DATA_ID = System.getenv("USER_DATA_ID");
    
        AssignSeatsUserRequest body =
            new AssignSeatsUserRequest()
                .data(
                    new AssignSeatsUserRequestData()
                        .type(SeatAssignmentsDataType.SEAT_ASSIGNMENTS)
                        .attributes(
                            new AssignSeatsUserRequestDataAttributes()
                                .productCode("incident_response")
                                .userUuids(Collections.singletonList(USER_DATA_ID))));
    
        try {
          AssignSeatsUserResponse result = apiInstance.assignSeatsUser(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SeatsApi#assignSeatsUser");
          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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
    // Assign seats to users returns "Created" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_seats::SeatsAPI;
    use datadog_api_client::datadogV2::model::AssignSeatsUserRequest;
    use datadog_api_client::datadogV2::model::AssignSeatsUserRequestData;
    use datadog_api_client::datadogV2::model::AssignSeatsUserRequestDataAttributes;
    use datadog_api_client::datadogV2::model::SeatAssignmentsDataType;
    
    #[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 body = AssignSeatsUserRequest::new().data(AssignSeatsUserRequestData::new(
            AssignSeatsUserRequestDataAttributes::new(
                "incident_response".to_string(),
                vec![user_data_id.clone()],
            ),
            SeatAssignmentsDataType::SEAT_ASSIGNMENTS,
        ));
        let configuration = datadog::Configuration::new();
        let api = SeatsAPI::with_config(configuration);
        let resp = api.assign_seats_user(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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
    /**
     * Assign seats to users returns "Created" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.SeatsApi(configuration);
    
    // there is a valid "user" in the system
    const USER_DATA_ID = process.env.USER_DATA_ID as string;
    
    const params: v2.SeatsApiAssignSeatsUserRequest = {
      body: {
        data: {
          type: "seat-assignments",
          attributes: {
            productCode: "incident_response",
            userUuids: [USER_DATA_ID],
          },
        },
      },
    };
    
    apiInstance
      .assignSeatsUser(params)
      .then((data: v2.AssignSeatsUserResponse) => {
        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.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"