Update App Favorite Status

PATCH https://api.ap1.datadoghq.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.ap2.datadoghq.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.datadoghq.eu/api/v2/app-builder/apps/{app_id}/favoritehttps://api.ddog-gov.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.us2.ddog-gov.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.uk1.datadoghq.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.datadoghq.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.us3.datadoghq.com/api/v2/app-builder/apps/{app_id}/favoritehttps://api.us5.datadoghq.com/api/v2/app-builder/apps/{app_id}/favorite

개요

현재 사용자의 즐겨찾기에 앱을 추가하거나 제거합니다. 즐겨찾기에 등록된 앱은 앱 나열하기 엔드포인트에서 filter[favorite] 쿼리 파라미터를 사용하여 필터링할 수 있습니다. This endpoint requires the apps_run permission.

인수

경로 파라미터

이름

유형

설명

app_id [required]

string

The ID of the app.

요청

Body Data (required)

Expand All

항목

유형

설명

data

object

Data for updating an app's favorite status.

attributes

object

Attributes for updating an app's favorite status.

favorite [required]

boolean

Whether the app should be marked as a favorite for the current user.

type

enum

The favorite resource type. Allowed enum values: favorites

default: favorites

{
  "data": {
    "attributes": {
      "favorite": true
    },
    "type": "favorites"
  }
}

응답

No Content

Bad Request

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Forbidden

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Not Found

API error response.

Expand All

항목

유형

설명

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

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

코드 예시

                          ## default
# 

# Path parameters
export app_id="65bb1f25-52e1-4510-9f8d-22d1516ed693"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

# Curl command
curl -X PATCH "https://api.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.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/app-builder/apps/${app_id}/favorite" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}" \ -d @- << EOF { "data": { "attributes": { "favorite": true }, "type": "favorites" } } EOF
// Update App Favorite Status 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"
	"github.com/google/uuid"
)

func main() {
	// there is a valid "app" in the system
	AppDataID := uuid.MustParse(os.Getenv("APP_DATA_ID"))

	body := datadogV2.UpdateAppFavoriteRequest{
		Data: &datadogV2.UpdateAppFavoriteRequestData{
			Attributes: &datadogV2.UpdateAppFavoriteRequestDataAttributes{
				Favorite: true,
			},
			Type: datadogV2.APPFAVORITETYPE_FAVORITES.Ptr(),
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewAppBuilderApi(apiClient)
	r, err := api.UpdateAppFavorite(ctx, AppDataID, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `AppBuilderApi.UpdateAppFavorite`: %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.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
// Update App Favorite Status returns "No Content" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.AppBuilderApi;
import com.datadog.api.client.v2.model.AppFavoriteType;
import com.datadog.api.client.v2.model.UpdateAppFavoriteRequest;
import com.datadog.api.client.v2.model.UpdateAppFavoriteRequestData;
import com.datadog.api.client.v2.model.UpdateAppFavoriteRequestDataAttributes;
import java.util.UUID;

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

    // there is a valid "app" in the system
    UUID APP_DATA_ID = null;
    try {
      APP_DATA_ID = UUID.fromString(System.getenv("APP_DATA_ID"));
    } catch (IllegalArgumentException e) {
      System.err.println("Error parsing UUID: " + e.getMessage());
    }

    UpdateAppFavoriteRequest body =
        new UpdateAppFavoriteRequest()
            .data(
                new UpdateAppFavoriteRequestData()
                    .attributes(new UpdateAppFavoriteRequestDataAttributes().favorite(true))
                    .type(AppFavoriteType.FAVORITES));

    try {
      apiInstance.updateAppFavorite(APP_DATA_ID, body);
    } catch (ApiException e) {
      System.err.println("Exception when calling AppBuilderApi#updateAppFavorite");
      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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
"""
Update App Favorite Status returns "No Content" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.app_builder_api import AppBuilderApi
from datadog_api_client.v2.model.app_favorite_type import AppFavoriteType
from datadog_api_client.v2.model.update_app_favorite_request import UpdateAppFavoriteRequest
from datadog_api_client.v2.model.update_app_favorite_request_data import UpdateAppFavoriteRequestData
from datadog_api_client.v2.model.update_app_favorite_request_data_attributes import (
    UpdateAppFavoriteRequestDataAttributes,
)

# there is a valid "app" in the system
APP_DATA_ID = environ["APP_DATA_ID"]

body = UpdateAppFavoriteRequest(
    data=UpdateAppFavoriteRequestData(
        attributes=UpdateAppFavoriteRequestDataAttributes(
            favorite=True,
        ),
        type=AppFavoriteType.FAVORITES,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = AppBuilderApi(api_client)
    api_instance.update_app_favorite(app_id=APP_DATA_ID, body=body)

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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
# Update App Favorite Status returns "No Content" response

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

# there is a valid "app" in the system
APP_DATA_ID = ENV["APP_DATA_ID"]

body = DatadogAPIClient::V2::UpdateAppFavoriteRequest.new({
  data: DatadogAPIClient::V2::UpdateAppFavoriteRequestData.new({
    attributes: DatadogAPIClient::V2::UpdateAppFavoriteRequestDataAttributes.new({
      favorite: true,
    }),
    type: DatadogAPIClient::V2::AppFavoriteType::FAVORITES,
  }),
})
api_instance.update_app_favorite(APP_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.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
// Update App Favorite Status returns "No Content" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_app_builder::AppBuilderAPI;
use datadog_api_client::datadogV2::model::AppFavoriteType;
use datadog_api_client::datadogV2::model::UpdateAppFavoriteRequest;
use datadog_api_client::datadogV2::model::UpdateAppFavoriteRequestData;
use datadog_api_client::datadogV2::model::UpdateAppFavoriteRequestDataAttributes;

#[tokio::main]
async fn main() {
    // there is a valid "app" in the system
    let app_data_id =
        uuid::Uuid::parse_str(&std::env::var("APP_DATA_ID").unwrap()).expect("Invalid UUID");
    let body = UpdateAppFavoriteRequest::new().data(
        UpdateAppFavoriteRequestData::new()
            .attributes(UpdateAppFavoriteRequestDataAttributes::new(true))
            .type_(AppFavoriteType::FAVORITES),
    );
    let configuration = datadog::Configuration::new();
    let api = AppBuilderAPI::with_config(configuration);
    let resp = api.update_app_favorite(app_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.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * Update App Favorite Status returns "No Content" response
 */

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

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

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

const params: v2.AppBuilderApiUpdateAppFavoriteRequest = {
  body: {
    data: {
      attributes: {
        favorite: true,
      },
      type: "favorites",
    },
  },
  appId: APP_DATA_ID,
};

apiInstance
  .updateAppFavorite(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.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"