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. For supported values, see *Supported type values.string*Yes
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
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.
applicationApplication icon from the entity’s application.
spaceSpace icon from the entity’s space.
staticFixed icon specified by iconKey.
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.