Move many assets and record every move.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/bulk_move_assets \
--header 'Content-Type: application/json' \
--data '
{
"p_asset_ids": [
"<string>"
],
"p_moved_at": "<string>",
"p_notes": "<string>",
"p_reason": "<string>",
"p_to_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_to_site_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/bulk_move_assets"
payload = {
"p_asset_ids": ["<string>"],
"p_moved_at": "<string>",
"p_notes": "<string>",
"p_reason": "<string>",
"p_to_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_to_site_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_asset_ids: ['<string>'],
p_moved_at: '<string>',
p_notes: '<string>',
p_reason: '<string>',
p_to_location_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_to_site_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/bulk_move_assets', 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/bulk_move_assets",
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_asset_ids' => [
'<string>'
],
'p_moved_at' => '<string>',
'p_notes' => '<string>',
'p_reason' => '<string>',
'p_to_location_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_to_site_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/bulk_move_assets"
payload := strings.NewReader("{\n \"p_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_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/bulk_move_assets")
.header("Content-Type", "application/json")
.body("{\n \"p_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/bulk_move_assets")
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_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_bodyAsset lifecycle
Move many assets and record every move.
Delegates to api.move_asset, so the history is written for each one rather than the site column being overwritten in place.
POST
/
rpc
/
bulk_move_assets
Move many assets and record every move.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/bulk_move_assets \
--header 'Content-Type: application/json' \
--data '
{
"p_asset_ids": [
"<string>"
],
"p_moved_at": "<string>",
"p_notes": "<string>",
"p_reason": "<string>",
"p_to_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_to_site_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/bulk_move_assets"
payload = {
"p_asset_ids": ["<string>"],
"p_moved_at": "<string>",
"p_notes": "<string>",
"p_reason": "<string>",
"p_to_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_to_site_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_asset_ids: ['<string>'],
p_moved_at: '<string>',
p_notes: '<string>',
p_reason: '<string>',
p_to_location_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_to_site_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://app.assetinfinity.ai/api/rpc/bulk_move_assets', 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/bulk_move_assets",
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_asset_ids' => [
'<string>'
],
'p_moved_at' => '<string>',
'p_notes' => '<string>',
'p_reason' => '<string>',
'p_to_location_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_to_site_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/bulk_move_assets"
payload := strings.NewReader("{\n \"p_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_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/bulk_move_assets")
.header("Content-Type", "application/json")
.body("{\n \"p_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/bulk_move_assets")
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_asset_ids\": [\n \"<string>\"\n ],\n \"p_moved_at\": \"<string>\",\n \"p_notes\": \"<string>\",\n \"p_reason\": \"<string>\",\n \"p_to_location_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_to_site_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
Move many assets and record every move.
Delegates to api.move_asset, so the history is written for each one rather than the site column being overwritten in place.
Response
200
OK
Related topics
Statuses and transitionsThe asset lifecycleThe asset registerInside an assetRole referenceWas this page helpful?
⌘I

