The iconSource property defines which icon appears in the top-left corner of each api-card.
Minimal JSON
{
"iconSource": {
"type": "relationTarget",
"relationTypeKey": "",
"property": ""
}
}{
"iconSource": {
"type": "relationTarget",
"relationTypeKey": "core_data_product#uses_technology",
"property": "application",
"fallback": {
"type": "static",
"iconKey": "core_newspaper"
}
}
}Nested properties
| Property | Description | Values | Mandatory |
|---|---|---|---|
type | Source of the icon. See supported type values. | string | Yes |
iconKey | Key of the icon used to visually represent the asset. Use predefined icons from Settings > Configuration > Icons, or define custom ones in the icons asset. Required when type is static. | string | Conditional |
property | Property of the relation target to use as the icon source. Required when type is relationTarget. | string in ("application", "objectType") | Conditional |
relationTypeKey | Relation type key ({packageKey}#{relationTypeKey}). Required when type is relationTarget. The backend automatically includes this relation in the response — additionalRelationTypes on the parent api-card is not required. | string | Conditional |
fallback | Fallback icon source when the primary source is unavailable. Same structure as iconSource. | json | No |
Supported type values
| Type | Description |
|---|---|
application | Application icon from the entity’s application. |
default | Frontend determines the icon based on entity type (space → space icon, application → app icon, object → object type badge). This is the default when iconSource is omitted. |
objectType | Object type badge from the entity’s object type. |
relationTarget | Icon from the target of a one-to-one relation, specified by relationTypeKey and property. When property is "application", the application name is also shown as the card’s gray subtitle. |
space | Space icon from the entity’s space. |
static | Fixed icon specified by iconKey. |
If secondaryNameAttribute is also set on the parent api-card, it takes precedence over the subtitle auto-generated by relationTarget’s property: "application". This explicit value is kept even when the target relation is missing.