Update information about a specific API. The given content will replace all API content of the given ID.
The ID is returned by the create API, or can be found in the URL in the API catalog UI.
This endpoint requires the apm_api_catalog_write permission.
OAuth apps require the apm_api_catalog_write authorization scope to access this endpoint.
"""
Update an API returns "API updated successfully" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.api_management_apiimportAPIManagementApi# there is a valid "managed_api" in the systemMANAGED_API_DATA_ID=environ["MANAGED_API_DATA_ID"]configuration=Configuration()configuration.unstable_operations["update_open_api"]=TruewithApiClient(configuration)asapi_client:api_instance=APIManagementApi(api_client)response=api_instance.update_open_api(id=MANAGED_API_DATA_ID,openapi_spec_file=open("openapi-spec.yaml","rb"),)print(response)
# Update an API returns "API updated successfully" responserequire"datadog_api_client"DatadogAPIClient.configuredo|config|config.unstable_operations["v2.update_open_api".to_sym]=trueendapi_instance=DatadogAPIClient::V2::APIManagementAPI.new# there is a valid "managed_api" in the systemMANAGED_API_DATA_ID=ENV["MANAGED_API_DATA_ID"]opts={openapi_spec_file:File.open("openapi-spec.yaml","r"),}papi_instance.update_open_api(MANAGED_API_DATA_ID,opts)
// Update an API returns "API updated successfully" responsepackagemainimport("context""encoding/json""fmt""io""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")funcmain(){// there is a valid "managed_api" in the systemManagedAPIDataID:=uuid.MustParse(os.Getenv("MANAGED_API_DATA_ID"))ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("v2.UpdateOpenAPI",true)apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewAPIManagementApi(apiClient)resp,r,err:=api.UpdateOpenAPI(ctx,ManagedAPIDataID,*datadogV2.NewUpdateOpenAPIOptionalParameters().WithOpenapiSpecFile(func()io.Reader{fp,_:=os.Open("openapi-spec.yaml");returnfp}()))iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `APIManagementApi.UpdateOpenAPI`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `APIManagementApi.UpdateOpenAPI`:\n%s\n",responseContent)}
// Update an API returns "API updated successfully" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.ApiManagementApi;importcom.datadog.api.client.v2.api.ApiManagementApi.UpdateOpenAPIOptionalParameters;importcom.datadog.api.client.v2.model.UpdateOpenAPIResponse;importjava.io.File;importjava.util.UUID;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("v2.updateOpenAPI",true);ApiManagementApiapiInstance=newApiManagementApi(defaultClient);// there is a valid "managed_api" in the systemUUIDMANAGED_API_DATA_ID=null;try{MANAGED_API_DATA_ID=UUID.fromString(System.getenv("MANAGED_API_DATA_ID"));}catch(IllegalArgumentExceptione){System.err.println("Error parsing UUID: "+e.getMessage());}try{UpdateOpenAPIResponseresult=apiInstance.updateOpenAPI(MANAGED_API_DATA_ID,newUpdateOpenAPIOptionalParameters().openapiSpecFile(newFile("openapi-spec.yaml")));System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling ApiManagementApi#updateOpenAPI");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Update an API returns "API updated successfully" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_api_management::APIManagementAPI;usedatadog_api_client::datadogV2::api_api_management::UpdateOpenAPIOptionalParams;usestd::fs;#[tokio::main]asyncfnmain(){// there is a valid "managed_api" in the system
letmanaged_api_data_id=uuid::Uuid::parse_str(&std::env::var("MANAGED_API_DATA_ID").unwrap()).expect("Invalid UUID");letmutconfiguration=datadog::Configuration::new();configuration.set_unstable_operation_enabled("v2.UpdateOpenAPI",true);letapi=APIManagementAPI::with_config(configuration);letresp=api.update_open_api(managed_api_data_id.clone(),UpdateOpenAPIOptionalParams::default().openapi_spec_file(fs::read("openapi-spec.yaml").unwrap()),).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Update an API returns "API updated successfully" response
*/import*asfsfrom"fs";import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();configuration.unstableOperations["v2.updateOpenAPI"]=true;constapiInstance=newv2.APIManagementApi(configuration);// there is a valid "managed_api" in the system
constMANAGED_API_DATA_ID=process.env.MANAGED_API_DATA_IDasstring;constparams: v2.APIManagementApiUpdateOpenAPIRequest={id: MANAGED_API_DATA_ID,openapiSpecFile:{data: Buffer.from(fs.readFileSync("openapi-spec.yaml","utf8")),name:"openapi-spec.yaml",},};apiInstance.updateOpenAPI(params).then((data: v2.UpdateOpenAPIResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));