APIs for Custom Attributes

Prev Next

The Custom Attribute Schema API enables external systems and 3rd‑party applications to retrieve metadata (schema) of custom attributes configured in the Apex application through the Form Designer.

This API is primarily intended for integration use cases, where external connectors need to:

  • Understand which custom attributes exist

  • Learn how those attributes behave in the UI

  • Dynamically populate input fields (including dropdown values)

  • Map fields reliably during inbound or outbound data synchronization

The API does not return transactional data. Instead, it returns attribute definitions, including control type, source, grouping, and whether attributes support single or multiple values.

Current Scope
At present, this API supports Incident Management (IM) module only.

Business Use Case

When custom attributes are configured in Admin → Form Designer, those same attributes must often be exposed to external systems so they can:

  • Build dynamic forms

  • Validate field mappings

  • Populate dropdown values

  • Align UX behavior (mandatory fields, multi‑value fields, control types)

Rather than hardcoding attribute definitions, integrations consume this API to fetch the latest schema directly from Apex.

Feature Benefits

Benefit

Description

Schema-driven integration

External systems automatically learn available custom attributes

UI parity

Control types (textbox, dropdown, multi-valued, etc.) match Submit UI

Dynamic dropdown population

Dropdown values can be retrieved via childView=true

Reduced maintenance

No need to hardcode or manually sync attribute metadata

Precise filtering

Attributes are filtered by instance and module

API Summary

API Name

Custom Attribute Schema API

Base Endpoint

/API/v1/App/ADM/admin/ CustomAttributesSchema?ReqFilters=Instance:eq:IT;Module_Code:eq:IM

ADM stands for Admin Services

Mandatory Parameters:

Below are just examples of mandatory parameters. In this case, it is “IT” (Tenant) Module Code as Incident Management (IM).

  • Instance:eq:IT

  • Module_Code

Body Response

{

    "message": "37 record(s) found.",

    "data": [

        {

            "UID": 2175,

            "Attribute_ID": 110,

            "Attribute_Name": "test number",

            "Control_Type": "number",

            "Group_ID": 5,

            "Group_Name": "test group",

            "Instance": "IT",

            "IsMultivalued": 1,

            "Module_Code": "IM",

            "Source_SubType": "",

            "Source_Type": null,

            "Tab_Id": 0,

            "Tab_Name": null,

            "childViews": null

        },

        {

            "UID": 2174,

            "Attribute_ID": 109,

            "Attribute_Name": "date control test",

            "Control_Type": "date",

            "Group_ID": 5,

            "Group_Name": "test group",

            "Instance": "IT",

            "IsMultivalued": 1,

            "Module_Code": "IM",

            "Source_SubType": "",

            "Source_Type": null,

            "Tab_Id": 0,

            "Tab_Name": null,

            "childViews": null

        },

        {

            "UID": 2169,

            "Attribute_ID": 104,

            "Attribute_Name": "radio test",

            "Control_Type": "radio",

            "Group_ID": 5,

            "Group_Name": "test group",

            "Instance": "IT",

            "IsMultivalued": 1,

            "Module_Code": "IM",

            "Source_SubType": "Country_Master_Table",

            "Source_Type": "common_master",

            "Tab_Id": 0,

            "Tab_Name": null,

            "childViews": null

        },

       {

            "UID": 2167,

            "Attribute_ID": 102,

            "Attribute_Name": "mv ddmanual",

            "Control_Type": "multidropdown",

            "Group_ID": 5,

            "Group_Name": "test group",

            "Instance": "IT",

            "IsMultivalued": 1,

            "Module_Code": "IM",

            "Source_SubType": null,

            "Source_Type": "manual_entry",

            "Tab_Id": 0,

            "Tab_Name": null,

            "childViews": null

        },

}

Dropdown & Source Handling

Source Types

Custom attribute dropdowns can source values from:

Source Type

Description

MANUAL

Values are manually entered (no subtype).

COMMON_MASTER

Values sourced from common master tables. Example: Location, Country, etc can be the values sourced from Common Master.

INCIDENT_MASTER

Values sourced from incident-related master tables. Example: Priority, Urgency, Impact, etc can be the values sourced from Incident Master.

USER_MASTER

Values sourced from user data.

Source Subtype

  • Indicates what specific master the dropdown draws from

  • Example: Customer, Country, Designation

{

            "UID": 2169,

            "Attribute_ID": 104,

            "Attribute_Name": "radio test",

            "Control_Type": "radio",

            "Group_ID": 5,

            "Group_Name": "test group",

            "Instance": "IT",

            "IsMultivalued": 1,

            "Module_Code": "IM",

            "Source_SubType": "Country_Master_Table",

            "Source_Type": "common_master",

            "Tab_Id": 0,

            "Tab_Name": null,

            "childViews": {

                "CustomAttributesSource": {

                    "data": [

                        {

                            "Text": "Zimbabwe",

                            "Value": 4922

                        },

                        {

                            "Text": "Zambia",

                            "Value": 4921

                        },

                        {

                            "Text": "Yemen",

                            "Value": 4920

                        },

                        {

                            "Text": "Vietnam",

                            "Value": 4919

                        },