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

PropertyDescriptionValuesMandatory
typeSource of the icon. See supported type values.stringYes
iconKeyKey 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.stringConditional
propertyProperty of the relation target to use as the icon source. Required when type is relationTarget.string in ("application", "objectType")Conditional
relationTypeKeyRelation 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.stringConditional
fallbackFallback icon source when the primary source is unavailable. Same structure as iconSource.jsonNo

Supported type values

TypeDescription
applicationApplication icon from the entity’s application.
defaultFrontend 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.
objectTypeObject type badge from the entity’s object type.
relationTargetIcon 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.
spaceSpace icon from the entity’s space.
staticFixed icon specified by iconKey.
Tip

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.