» Custom Object Module SDK Documentation

Getting List of Custom Objects for a Component Record

Function: custom_object_list()

Purpose

This function retrieves all custom objects configured under a specific component record. It returns a list of custom objects associated with the component instance, including their UUID, name, entity type, relationship type, and a reference link to fetch the object’s values. This is commonly used when a workflow, inspection, or automated script needs dynamic access to child objects attached to a component record.

Parameters

Parameter Type Description
component_uuid string The UUID of the parent custom component.
component_record_id string The record identifier of the component.

Use Case

This function is used whenever a system needs to fetch all custom objects linked to a specific component record. For example, in a field inspection use case, each inspection record may contain multiple nested objects such as inspector details, cargo information, attachments, or inspection reports. By calling this endpoint through the SDK, the system retrieves these nested objects dynamically, enabling further data processing, validation, or navigation. This process supports workflows that rely on relational component structures within Exsited, making it essential for QA testing, automated scripts, or building custom UI layers.

def custom_object_list():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False

    token_file_path = "shared_token.json"
    file_token_mgr = FileTokenManager(token_file_path)

    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
        request_token_dto=CommonData.get_request_token_dto(),
        file_token_mgr=file_token_mgr
    )

    try:
        response = exsited_sdk.custom_objects.custom_objects_list(component_record_id='ID', component_uuid='UUID')
        print(response)
        # ResponseToObj().process(response=response["accounts"][0])
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

The response contains a list of custom objects associated with the specified component record. Each object includes basic metadata such as its UUID, name, entity type, relationship type, and a reference URL for retrieving the object’s details. The SDK outputs this structure in a simplified dictionary or array format, which helps developers inspect how many custom objects exist and how they are structured under that component instance.

{
    "custom_objects": [
        {
            "uuid": "{CUSTOM_OBJECT_UUID_1}",
            "name": "{CUSTOM_OBJECT_NAME_1}",
            "entity": "customComponent",
            "type": "one_to_many",
            "values": "{CUSTOM_OBJECT_VALUES_URL_1}"
        },
        {
            "uuid": "{CUSTOM_OBJECT_UUID_2}",
            "name": "{CUSTOM_OBJECT_NAME_2}",
            "entity": "customComponent",
            "type": "one_to_many",
            "values": "{CUSTOM_OBJECT_VALUES_URL_2}"
        },
        {
            "uuid": "{CUSTOM_OBJECT_UUID_3}",
            "name": "{CUSTOM_OBJECT_NAME_3}",
            "entity": "customComponent",
            "type": "one_to_one",
            "values": "{CUSTOM_OBJECT_VALUES_URL_3}"
        }
    ]
}

Getting Custom Object Details

Function: custom_object_details()

Purpose

This SDK function is used to retrieve detailed information of a specific custom object associated with a component record. It allows clients to fetch all data stored against a custom object using the component code, component record identifier, and the custom object UUID. This is useful when reviewing dynamic data created through Exsited’s Custom Objects feature.

Parameters

ParameterTypeDescription
component_uuidstringThe UUID of the parent custom component.
component_record_idstringThe record identifier of the component.
custom_object_uuidstringThe UUID of the custom object whose details need to be fetched.

Use Case

This function is used when a system wants to retrieve the values stored in a custom object that is linked to a specific component record. For example, if a field inspection component contains a "Work Summary" custom object, and the inspection record has multiple objects created, this endpoint retrieves the full details of a single object. This enables validation, reporting, and further automation workflows. The client provides the component UUID, the record identifier, and the specific custom object UUID. The SDK handles the API communication and returns the corresponding object data.

def custom_object_details():
    SDKConfig.PRINT_REQUEST_DATA = True
    SDKConfig.PRINT_RAW_RESPONSE = False

    token_file_path = "shared_token.json"
    file_token_mgr = FileTokenManager(token_file_path)

    exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
        request_token_dto=CommonData.get_request_token_dto(),
        file_token_mgr=file_token_mgr
    )

    try:
        response = exsited_sdk.custom_objects.custom_objects_details(cc_id='3PO1NS', cc_uuid='2dae0241-fed5-4703-bf77-34f6cbadd0f1',co_uuid='727bec33-4408-4c6d-b266-086456c5ef3d')
        print(response)

        # ResponseToObj().process(response=response["accounts"][0])
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

The response returns the custom object data mapped from the Exsited API into an SDK response structure. If the custom object exists, the response will contain full details of that object. If no data is found or the object is empty, the response may return null or an empty structure. Clients should handle cases where the retrieved object does not exist. The SDK presents the result in either a Python dictionary or PHP associative array depending on the environment.

{
    "custom_object": "{{CUSTOM_OBJECT_DATA_OR_NULL}}"
}