Merge one product into another: every name mapped to it and every entitlement for it moves to
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/merge_software_products \
--header 'Content-Type: application/json' \
--data '
{
"p_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_into_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/merge_software_products"
payload = {
"p_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_into_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_from_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_into_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/merge_software_products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.assetinfinity.ai/api/rpc/merge_software_products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_from_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_into_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.assetinfinity.ai/api/rpc/merge_software_products"
payload := strings.NewReader("{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.assetinfinity.ai/api/rpc/merge_software_products")
.header("Content-Type", "application/json")
.body("{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/merge_software_products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_bodyItam software
Merge one product into another: every name mapped to it and every entitlement for it moves to
the product it is merged into, whose policy stands. The merged product is kept, pointing at the survivor, so nothing that named it is lost. Requires itam.software.edit.
POST
/
rpc
/
merge_software_products
Merge one product into another: every name mapped to it and every entitlement for it moves to
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/merge_software_products \
--header 'Content-Type: application/json' \
--data '
{
"p_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_into_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/merge_software_products"
payload = {
"p_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_into_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_from_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_into_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/merge_software_products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.assetinfinity.ai/api/rpc/merge_software_products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'p_from_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_into_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.assetinfinity.ai/api/rpc/merge_software_products"
payload := strings.NewReader("{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.assetinfinity.ai/api/rpc/merge_software_products")
.header("Content-Type", "application/json")
.body("{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/merge_software_products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_from_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_into_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_bodyHeaders
Preference
Available options:
params=single-object Body
application/jsonapplication/vnd.pgrst.object+jsonapplication/vnd.pgrst.object+json;nulls=strippedtext/csv
Merge one product into another: every name mapped to it and every entitlement for it moves to the product it is merged into, whose policy stands. The merged product is kept, pointing at the survivor, so nothing that named it is lost. Requires itam.software.edit.
Response
200
OK
⌘I

