» Custom Component Module SDK Documentation

Getting Custom Component List

Function: custom_component_list()

Purpose

This function retrieves the full list of custom components configured within the system. Custom components define modular functional units that can be attached to various resources such as accounts, forms, and other custom components. This operation is used to fetch metadata including component UUIDs, names, descriptions, usage configuration, status, and relation definitions. It is helpful for developers, admins, and automation scripts that need to dynamically inspect available components or reference them for further operations such as assigning forms, building workflows, or managing custom fields.

Parameters

No parameter is required.

Use Case

This function is typically used when an application needs to retrieve all available custom components for configuration, mapping, or referencing within automated workflows. For example, an admin may want to list all components to verify correct setup, or a developer may retrieve components to dynamically assign them to forms or objects. Since custom components form the foundation of the field inspection and data modeling structure, getting this list is essential for building dynamic configurations, validating existing setups, or synchronizing metadata with external systems. 

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

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

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

    try:
        response = exsited_sdk.custom_component.custom_component_list()
        print(response)
    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

The response contains a list of all custom components along with key metadata such as UUID, status, name, display name, description, usage configuration, and relation type. This output helps developers and QA teams confirm the availability and configuration of components, detect missing components, and understand how each component is mapped within the system. Pagination details are included to support large datasets.

{
    "components": [
        {
            "uuid": "COMPONENT_UUID_1",
            "status": "ACTIVE",
            "name": "COMPONENT_NAME_1",
            "display_name": "DISPLAY_NAME_1",
            "description": "DESCRIPTION_1",
            "use_in": [
                {"resource": "RESOURCE_TYPE_1"}
            ],
            "relation": "RELATION_TYPE_1"
        },
        {
            "uuid": "COMPONENT_UUID_2",
            "status": "ACTIVE",
            "name": "COMPONENT_NAME_2",
            "display_name": "DISPLAY_NAME_2",
            "description": "DESCRIPTION_2",
            "use_in": [
                {"resource": "RESOURCE_TYPE_2"}
            ],
            "relation": "RELATION_TYPE_2"
        }
    ],
    "pagination": {
        "records": NUMBER_OF_RECORDS,
        "limit": LIMIT_VALUE,
        "offset": OFFSET_VALUE,
        "previous_page": "PREVIOUS_PAGE_VALUE",
        "next_page": "NEXT_PAGE_VALUE"
    }
}

Getting Component Record PDF

Function: component_pdf()

Purpose

This function is used to download a PDF version of a specific component record. Each custom component may have forms, fields, and associated data captured during inspections or operational workflows. This API allows users to obtain a complete PDF export of a single component record, which is often required for audits, reporting, sharing with external teams, or archiving. The PDF includes all relevant fields, metadata, and structured content associated with the component instance.

Parameters

Parameter Type Description
component_uuid string Unique identifier of the custom component definition.
component_record_id string The ID of the specific component record for which the PDF must be downloaded.

Use Case

This function is commonly used in inspection workflows or reporting modules where a user needs a downloadable PDF summary of a specific component record. A QA engineer may test this feature to verify that PDFs are generated correctly, contain accurate data, and include all custom fields assigned to the component. Developers may use this to automatically export component records for batch reporting, integration with document management systems, or for generating attachments in automated emails.

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

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

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

    try:
        component_uuid = "COMPONENT_UUID_PLACEHOLDER"
        component_id = "COMPONENT_RECORD_ID_PLACEHOLDER"

        response = exsited_sdk.custom_component.custom_component_pdf(
            uuid=component_uuid,
            id=component_id
        )

        pdf_filename = "PATH_TO_SAVE_FOLDER/" + component_id + ".pdf"

        if isinstance(response, bytes):
            with open(pdf_filename, "wb") as file:
                file.write(response)
            print("PDF saved:", pdf_filename)
        else:
            print("Unexpected response type:", type(response))

    except ABException as ab:
        print(ab)
        print(ab.get_errors())
        print(ab.raw_response)

Response

The function returns a PDF file.