This page covers configuration and management of View collection objects.
Object Overview
Object Locks.
Endpoint, URL, and Supported Methods
Objects are managed via the Configuration server API at [http|https]://[hostname]:[port]/v1.0/tenants/[tenant-guid]/objectlocks
Supported methods include: GET``DELETE
Structure
Objects have the following structure:
{
"GUID": "a1b2c3d4-e5f6-7890-abcd-1234567890ab",
"TenantGUID": "00000000-0000-0000-0000-000000000000",
"NodeGUID": "11111111-2222-3333-4444-555555555555",
"BucketGUID": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"OwnerGUID": "12345678-90ab-cdef-1234-567890abcdef",
"ObjectGUID": "99999999-8888-7777-6666-555555555555",
"Key": "documents/report.pdf",
"Version": "v1.2.3",
"IsReadLock": true,
"IsWriteLock": false,
"CreatedUtc": "2025-04-01T14:15:22.123Z"
}
GUID
GUID
globally unique identifier for the objectTenantGUID
GUID
globally unique identifier for the tenantNodeGUID
`GUID
globally unique identifier for the NodeBucketGUID``GUID
globally unique identifier for the bucketObjectGUID
GUID
globally unique identifier for the objectOwnerGUID
GUID
globally unique identifier for the ownerKey
string
key of the objectVersion
string
version of the objectIsReadLock
boolean
is having read lockIsWriteLock
boolean
is having write lockCreatedUtc
datetime
timestamp from creation, in UTC time
Enumerate
Enumerate objects by using GET /v2.0/tenants/[tenant-guid]/encryptionkeys
curl --location 'http://view.homedns.org:8000/v2.0/tenants/00000000-0000-0000-0000-000000000000/objectlocks/' \
--header 'Authorization: ••••••'
import { ViewConfigurationSdk } from "view-sdk";
const api = new ViewConfigurationSdk(
"default", //tenant Id
"default", //access token
"http://localhost:8000/" //endpoint
);
const enumerateObjectLocks = async () => {
try {
const response = await api.enumerateObjectLocks();
console.log(response, "Object locks fetched successfully");
} catch (err) {
console.log("Error fetching Object locks:", err);
}
};
enumerateObjectLocks();
Read
To read an object by GUID, call GET /v1.0/tenants/[tenant-guid]/encryptionkeys/[encryptionkey-guid]
. If the object exists, it will be returned as a JSON object in the response body. If it does not exist, a 404 will be returned with a NotFound
error response.
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/objectlocks/00000000-0000-0000-0000-000000000000' \
--header 'Authorization: ••••••'
import { ViewConfigurationSdk } from "view-sdk";
const api = new ViewConfigurationSdk(
"default", //tenant Id
"default", //access token
"http://localhost:8000/" //endpoint
);
const readObjectLock = async () => {
try {
const response = await api.retrieveObjectLock(
"00000000-0000-0000-0000-000000000000"
);
console.log(response, "Object lock fetched successfully");
} catch (err) {
console.log("Error fetching Object lock:", err);
}
};
readObjectLock();
Read all
o read all objects, call GET /v1.0/tenants/[tenant-guid]/encryptionkeys/
. If the object exists, it will be returned as an array of JSON object in the response body
curl --location 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/objectlocks' \
--header 'Authorization: ••••••'
import { ViewConfigurationSdk } from "view-sdk";
const api = new ViewConfigurationSdk(
"default", //tenant Id
"default", //access token
"http://localhost:8000/" //endpoint
);
const retrieveObjectLocks = async () => {
try {
const response = await api.retrieveObjectLocks();
console.log(response, "Object locks fetched successfully");
} catch (err) {
console.log("Error fetching Object locks:", err);
}
};
retrieveObjectLocks();
Delete
To delete an object by GUID, call DELETE /v1.0/tenants/[tenant-guid]/encryptionkeys/[encryptionkey-guid]
.
curl --location --request DELETE 'http://view.homedns.org:8000/v1.0/tenants/00000000-0000-0000-0000-000000000000/objectlocks/00000000-0000-0000-0000-000000000000' \
--header 'Authorization: ••••••' \
import { ViewConfigurationSdk } from "view-sdk";
const api = new ViewConfigurationSdk(
"default", //tenant Id
"default", //access token
"http://localhost:8000/" //endpoint
);
const deleteObjectLock = async () => {
try {
const response = await api.deleteObjectLock(
"00000000-0000-0000-0000-000000000000"
);
console.log(response, "Object lock deleted successfully");
} catch (err) {
console.log("Error deleting Object lock:", err);
}
};
deleteObjectLock();