Update Application Metadata
PUT {{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata
The PUT {{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata operation updates the application metadata for the application specified by its ID in the request URL.
You must include metadata in the request body to update the existing application metadata. If metadata is not included in the request body, the existing application metadata will be removed from the application resource.
Prerequisites
-
Refer to Application Metadata for important overview information.
Request Model
Refer to the Application Metadata for complete descriptions.
| Property | Type | Required? |
|---|---|---|
metadata |
JSON blob |
Required |
Example Request
-
cURL
-
C#
-
Go
-
HTTP
-
Java
-
jQuery
-
NodeJS
-
Python
-
PHP
-
Ruby
-
Swift
curl --location --globoff --request PUT '{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@" ""metadata"": {" + "\n" +
@" ""Contact"": ""Kelly Johnson""," + "\n" +
@" ""Department"": ""Accounting""," + "\n" +
@" ""Meeting"": ""Last Thursday of the month""" + "\n" +
@" }" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata"
method := "PUT"
payload := strings.NewReader(`{
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer {{accessToken}}")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
PUT /environments/{{envID}}/applications/{{appID}}/metadata HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}
{
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
}
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"metadata\": {\n \"Contact\": \"Kelly Johnson\",\n \"Department\": \"Accounting\",\n \"Meeting\": \"Last Thursday of the month\"\n }\n}");
Request request = new Request.Builder()
.url("{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata")
.method("PUT", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{accessToken}}")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata",
"method": "PUT",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{accessToken}}"
},
"data": JSON.stringify({
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require('request');
var options = {
'method': 'PUT',
'url': '{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
},
body: JSON.stringify({
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata"
payload = json.dumps({
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n "metadata": {\n "Contact": "Kelly Johnson",\n "Department": "Accounting",\n "Meeting": "Last Thursday of the month"\n }\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"
url = URI("{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
})
response = http.request(request)
puts response.read_body
let parameters = "{\n \"metadata\": {\n \"Contact\": \"Kelly Johnson\",\n \"Department\": \"Accounting\",\n \"Meeting\": \"Last Thursday of the month\"\n }\n}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/applications/{{appID}}/metadata")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")
request.httpMethod = "PUT"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Example Response
200 OK
{
"_links": {
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/5234c0c8-3761-4fc0-8ec4-2b64eeb96cff/metadata"
},
"environment": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"application": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/applications/5234c0c8-3761-4fc0-8ec4-2b64eeb96cff"
}
},
"applicationId": "5234c0c8-3761-4fc0-8ec4-2b64eeb96cff",
"environmentId": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6",
"metadata": {
"Contact": "Kelly Johnson",
"Department": "Accounting",
"Meeting": "Last Thursday of the month"
}
}