This is the documentation for Recommendations AI, Retail Search, and the new Retail console.

REST Resource: projects.locations.catalogs.attributesConfig

Stay organized with collections Save and categorize content based on your preferences.

Resource: AttributesConfig

Catalog level attribute config.

JSON representation
{
  "name": string,
  "catalogAttributes": {
    string: {
      object (CatalogAttribute)
    },
    ...
  },
  "attributeConfigLevel": enum (AttributeConfigLevel)
}
Fields
name

string

Required. Immutable. The fully qualified resource name of the attribute config. Format: projects/*/locations/*/catalogs/*/attributesConfig

catalogAttributes

map (key: string, value: object (CatalogAttribute))

Enable attribute(s) config at catalog level. For example, indexable, dynamicFacetable, or searchable for each attribute.

The key is catalog attribute's name. For example: color, brands, attributes.custom_attribute, such as attributes.xyz.

The maximum number of catalog attributes allowed in a request is 1000.

attributeConfigLevel

enum (AttributeConfigLevel)

Output only. The AttributeConfigLevel used for this catalog.

CatalogAttribute

Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.

JSON representation
{
  "key": string,
  "inUse": boolean,
  "type": enum (AttributeType),
  "indexableOption": enum (IndexableOption),
  "dynamicFacetableOption": enum (DynamicFacetableOption),
  "searchableOption": enum (SearchableOption),
  "recommendationsFilteringOption": enum (RecommendationsFilteringOption),
  "exactSearchableOption": enum (ExactSearchableOption)
}
Fields
key

string

Required. Attribute name. For example: color, brands, attributes.custom_attribute, such as attributes.xyz. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named attributes.abc_xyz can be indexed, but an attribute named attributes.abc-xyz cannot be indexed.

inUse

boolean

Output only. Indicates whether this attribute has been used by any products. True if at least one Product is using this attribute in Product.attributes. Otherwise, this field is False.

CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is False for pre-loaded CatalogAttributes.

Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request.

After catalog changes, it takes about 10 minutes for this field to update.

type

enum (AttributeType)

Output only. The type of this attribute. This is derived from the attribute in Product.attributes.

indexableOption

enum (IndexableOption)

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.

Must be specified, otherwise throws INVALID_FORMAT error.

dynamicFacetableOption

enum (DynamicFacetableOption)

If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.

Must be specified, otherwise throws INVALID_FORMAT error.

searchableOption

enum (SearchableOption)

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search.

If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.

Must be specified, otherwise throws INVALID_FORMAT error.

recommendationsFilteringOption

enum (RecommendationsFilteringOption)

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if RECOMMENDATIONS_FILTERING_ENABLED, attribute values are filterable for recommendations. This option works for categorical features only, does not work for numerical features, inventory filtering.

exactSearchableOption

enum (ExactSearchableOption)

If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable.

AttributeType

The type of an attribute.

Enums
UNKNOWN

The type of the attribute is unknown.

Used when type cannot be derived from attribute that is not inUse.

TEXTUAL Textual attribute.
NUMERICAL Numerical attribute.

IndexableOption

The status of the indexable option of a catalog attribute.

Enums
INDEXABLE_OPTION_UNSPECIFIED Value used when unset.
INDEXABLE_ENABLED Indexable option enabled for an attribute.
INDEXABLE_DISABLED Indexable option disabled for an attribute.

DynamicFacetableOption

The status of the dynamic facetable option of a catalog attribute.

Enums
DYNAMIC_FACETABLE_OPTION_UNSPECIFIED Value used when unset.
DYNAMIC_FACETABLE_ENABLED Dynamic facetable option enabled for an attribute.
DYNAMIC_FACETABLE_DISABLED Dynamic facetable option disabled for an attribute.

SearchableOption

The status of the searchable option of a catalog attribute.

Enums
SEARCHABLE_OPTION_UNSPECIFIED Value used when unset.
SEARCHABLE_ENABLED Searchable option enabled for an attribute.
SEARCHABLE_DISABLED Searchable option disabled for an attribute.

ExactSearchableOption

The status of the exact-searchable option of a catalog attribute.

Enums
EXACT_SEARCHABLE_OPTION_UNSPECIFIED Value used when unset. Defaults to EXACT_SEARCHABLE_DISABLED.
EXACT_SEARCHABLE_ENABLED Exact searchable option enabled for an attribute.
EXACT_SEARCHABLE_DISABLED Exact searchable option disabled for an attribute.

AttributeConfigLevel

At which level we offer configuration for attributes.

Enums
ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.
PRODUCT_LEVEL_ATTRIBUTE_CONFIG At this level, we honor the attribute configurations set in Product.attributes.
CATALOG_LEVEL_ATTRIBUTE_CONFIG At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs.

Methods

addCatalogAttribute

Adds the specified CatalogAttribute to the AttributesConfig.

batchRemoveCatalogAttributes

Removes all specified CatalogAttributes from the AttributesConfig.

removeCatalogAttribute

Removes the specified CatalogAttribute from the AttributesConfig.

replaceCatalogAttribute

Replaces the specified CatalogAttribute in the AttributesConfig by updating the catalog attribute with the same CatalogAttribute.key.