--- title: "APIs for Custom Attributes" slug: "apis-for-custom-attributes" updated: 2026-04-26T10:02:23Z published: 2026-04-26T10:02:23Z canonical: "help.symphonysummitai.com/apis-for-custom-attributes" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.symphonysummitai.com/llms.txt > Use this file to discover all available pages before exploring further. # APIs for Custom Attributes 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** ![](https://cdn.document360.io/62351b42-cfbd-43ad-8ce1-82b8f455337f/Images/Documentation/apis-for-custom-attributes-image-uz1zg1n7.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A56%3A23Z&se=2026-11-07T17%3A56%3A23Z&sr=c&sp=r&sig=t5uP4zOy2B9P0%2BquWItiphjUZ9PQ2fzEoIQHMXhQRA4%3D) **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 },