Bloomreach Catalog configuration API

The Catalog configuration API from Bloomreach — 3 operation(s) for catalog configuration.

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/configs/LATEST View the current catalog configuration · Get current configuration #
Ask an LLM
“How can I see the catalog settings that are live in the Bloomreach dashboard right now?”
“Which custom attributes are configured on my catalog at the moment?”
Tell an agent
Show the current configuration of catalog {catalog} in account {account} on {environment}.
List the custom attribute settings in the latest config for catalog {catalog} ({environment}, account {account}).
POST /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/configs/LATEST Change the current catalog configuration · Modify current configuration #
Ask an LLM
“How do I update catalog settings programmatically instead of clicking through the dashboard?”
“Can I automate changes to custom attribute configuration on a catalog?”
Tell an agent
Update the current configuration of catalog {catalog} in account {account} on {environment} with {data}.
Apply this attribute config change {data} to the live settings of catalog {catalog} for account {account} in {environment}.
GET /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/configs/{config_id} View a past catalog configuration · Get an older configuration #
Ask an LLM
“What did my catalog configuration look like when a particular index was built?”
“Can I look up an earlier configuration version by its config ID?”
Tell an agent
Get historical configuration {config_id} for catalog {catalog} in account {account} on {environment}.
Show me the older config {config_id} that was in effect for catalog {catalog} ({environment}, account {account}).
GET /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/reserved-attributes List a catalog's reserved attributes · Get reserved attributes #
Ask an LLM
“Which attribute names are reserved in my catalog and can't be used for custom fields?”
“Where can I find the list of reserved product attributes for a catalog?”
Tell an agent
List the reserved attributes for catalog {catalog} in account {account} on {environment}.
Check which attribute names are reserved in catalog {catalog} ({environment}) for account {account}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bloomreach:bloomreach-catalog-configuration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bloomreach-catalog-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Catalog management Catalog configuration API
  version: 3.0.0
servers:
- url: https://discovery.bloomreach.com/dataconnect/api/v3
security:
- bearerAuth: []
tags:
- name: Catalog Configuration
paths:
  /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/configs/LATEST:
    parameters:
    - $ref: '#/components/parameters/AccountName'
    - $ref: '#/components/parameters/CatalogName'
    - $ref: '#/components/parameters/EnvironmentName'
    get:
      tags:
      - Catalog Configuration
      summary: Get current configuration
      description: Understand the current state of catalog configuration, including custom attributes configuration and all catalog settings present in the dashboard.
      responses:
        200:
          description: OK. Click to see the response structure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      etag:
                        type: string
                  data:
                    type: object
                    properties:
                      config:
                        oneOf:
                        - $ref: '#/components/schemas/ProductConfiguration'
                        - $ref: '#/components/schemas/ContentConfiguration'
        400:
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  details:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
        404:
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
        429:
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429Response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
      operationId: getAccountsByAccountNameCatalogsByCatalogNameEnvironmentsByEnvironmentNameConfigsLATEST
      x-operation-id-source: derived
    post:
      tags:
      - Catalog Configuration
      summary: Modify current configuration
      description: Programmatically modify the current catalog configuration to automate common tasks.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                meta:
                  type: object
                  properties:
                    if_match_etag:
                      type: string
                      description: The ETag of the catalog's current configuration.
                  required:
                  - if_match_etag
                data:
                  type: object
                  properties:
                    config:
                      oneOf:
                      - $ref: '#/components/schemas/ProductConfiguration'
                      - $ref: '#/components/schemas/ContentConfiguration'
      responses:
        200:
          description: OK - The new config matches the current one, and no change is made. Click to see the response structure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      previous_etag:
                        type: string
                      new_etag:
                        type: string
                  data:
                    type: object
                    properties:
                      config:
                        oneOf:
                        - $ref: '#/components/schemas/ProductConfiguration'
                        - $ref: '#/components/schemas/ContentConfiguration'
        201:
          description: Created - The new config differs from the current one, and the changes are applied. Click to see the response structure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      previous_etag:
                        type: string
                      new_etag:
                        type: string
                  data:
                    type: object
                    properties:
                      config:
                        oneOf:
                        - $ref: '#/components/schemas/ProductConfiguration'
                        - $ref: '#/components/schemas/ContentConfiguration'
        400:
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      etag:
                        type: string
                  details:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
        404:
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
        412:
          description: if_match_etag field did not match expected value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/412Response'
        429:
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429Response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
      operationId: postAccountsByAccountNameCatalogsByCatalogNameEnvironmentsByEnvironmentNameConfigsLATEST
      x-operation-id-source: derived
  /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/configs/{config_id}:
    parameters:
    - $ref: '#/components/parameters/AccountName'
    - $ref: '#/components/parameters/CatalogName'
    - $ref: '#/components/parameters/EnvironmentName'
    - $ref: '#/components/parameters/ConfigId'
    get:
      tags:
      - Catalog Configuration
      summary: Get an older configuration
      description: Understand what the catalog configuration looked like at the point in time an index was generated.
      responses:
        200:
          description: OK. Click to see the response structure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      etag:
                        type: string
                  data:
                    type: object
                    properties:
                      config:
                        oneOf:
                        - $ref: '#/components/schemas/ProductConfiguration'
                        - $ref: '#/components/schemas/ContentConfiguration'
        400:
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  details:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
        404:
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
        429:
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429Response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
      operationId: getAccountsByAccountNameCatalogsByCatalogNameEnvironmentsByEnvironmentNameConfigsByConfigId
      x-operation-id-source: derived
  /accounts/{account_name}/catalogs/{catalog_name}/environments/{environment_name}/reserved-attributes:
    parameters:
    - $ref: '#/components/parameters/AccountName'
    - $ref: '#/components/parameters/CatalogName'
    - $ref: '#/components/parameters/EnvironmentName'
    get:
      tags:
      - Catalog Configuration
      summary: Get reserved attributes
      description: Get a list of all reserved attributes for the catalog.
      responses:
        200:
          description: OK. Click to see the response structure.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      reserved_attributes:
                        oneOf:
                        - $ref: '#/components/schemas/SnapReservedAttributes'
                        - $ref: '#/components/schemas/ContentReservedAttributes'
        400:
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  details:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        401:
          description: Unauthorized
        404:
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Response'
        429:
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429Response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500Response'
      operationId: getAccountsByAccountNameCatalogsByCatalogNameEnvironmentsByEnvironmentNameReservedAttributes
      x-operation-id-source: derived
components:
  parameters:
    CatalogName:
      description: '"Catalog name" is also called domain key. Use the same value as your domain key in your search API requests.'
      name: catalog_name
      in: path
      schema:
        type: string
        minLength: 1
        maxLength: 64
      required: true
      example: homeoasis_fr
    EnvironmentName:
      description: The type of environment you want to use for the request (Production/Staging).
      name: environment_name
      in: path
      schema:
        type: string
        minLength: 1
        maxLength: 64
        enum:
        - production
        - staging
      required: true
    AccountName:
      description: Your unique account name.
      name: account_name
      in: path
      schema:
        type: string
        minLength: 1
        maxLength: 64
      required: true
      example: homeoasis
    ConfigId:
      description: The unique ID associated with a particular state of the catalog configuration.
      name: config_id
      in: path
      schema:
        type: string
        minLength: 1
        maxLength: 64
      required: true
      example: '1324'
  schemas:
    SnapReservedAttributes:
      type: object
      properties:
        product:
          additionalProperties:
            type: object
          example:
            availability: {}
            brand: {}
            br_high_confidence_field: {}
            capacity: {}
            catalog_code: {}
            category_paths: {}
            city_location: {}
            color: {}
            color_group: {}
            condition: {}
            depth: {}
            description: {}
            flags: {}
            gender: {}
            height: {}
            i_level: {}
            is_buyable: {}
            is_monogramed: {}
            is_perishable: {}
            is_sellable: {}
            item_condition: {}
            item_no: {}
            keywords: {}
            large_image: {}
            launch_date: {}
            low_price: {}
            low_sale_price: {}
            model_name: {}
            model_no: {}
            price: {}
            price_range: {}
            reviews: {}
            sale_keywords: {}
            sale_price: {}
            sale_price_range: {}
            size: {}
            sku_id: {}
            store_id: {}
            store_location: {}
            suite_info: {}
            swatch_image: {}
            thumb_image: {}
            title: {}
            url: {}
            width: {}
        variant:
          additionalProperties:
            type: object
          example:
            color: {}
            color_group: {}
            large_image: {}
            price: {}
            sale_price: {}
            size: {}
            sku_id: {}
            swatch_image: {}
            thumb_image: {}
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        detail:
          type: string
        class:
          type: string
          enum:
          - error
          - warning
    ProductConfiguration:
      type: object
      properties:
        feed:
          type: object
          properties:
            enable_feed_jobs:
              type: boolean
        index:
          type: object
          properties:
            enable_index_jobs:
              type: boolean
            enable_auto_indexing:
              type: boolean
            search_unavailable_docs:
              type: boolean
            search_docs_drop_threshold:
              type: number
        variants:
          type: object
          properties:
            sku_select:
              type: string
              example: on | off | transition-on | transition-off
            enable_hero_sku_ranking:
              type: boolean
              example: true
            enable_filtering:
              type: boolean
              example: false
            ranking_attributes:
              type: array
              items:
                type: string
              example:
              - color
              - color_group
              - custom_attribute
            use_unavailable_variant_as_hero:
              type: boolean
              example: false
            grouping_attribute:
              type: string
              example: some_attribute
            search_document_variants_limit:
              type: number
              example: 5
        custom_attributes_defaults:
          type: object
          properties:
            facetable:
              type: string
              enum:
              - auto
              - manual
              - 'off'
            searchable:
              type: boolean
        custom_attributes:
          type: object
          additionalProperties:
            type: object
            properties:
              level:
                type: string
                enum:
                - product
                - variant
              displayable:
                type: boolean
              facetable:
                type: string
                enum:
                - auto
                - manual
                - 'off'
              searchable:
                type: boolean
              multi_valued:
                type: boolean
              data_type:
                type: string
                enum:
                - text
                - number
        autosuggest:
          type: object
          properties:
            product_attributes:
              type: object
              properties:
                categories:
                  type: string
                  example: leaf_only | off
                other_attributes:
                  type: array
                  items:
                    type: string
                  example:
                  - color
                  - title
                  - custom_attribute
            minimum_character_count:
              type: number
              example: 4
            word_count_limit:
              type: number
              example: 5
            product_autosuggest:
              type: boolean
            attibute_autosuggest:
              type: boolean
            attribute_type:
              type: string
              example: category
            attribute_autosuggest_limit:
              type: number
              example: 3
        core_attribute_searchability:
          type: object
          properties:
            category_names:
              type: boolean
            category_ids:
              type: boolean
            product_ids:
              type: boolean
            variant_ids:
              type: boolean
        reserved_attribute_searchability:
          type: object
          properties:
            title:
              type: boolean
            brand:
              type: boolean
            description:
              type: boolean
            gender:
              type: boolean
            item_no:
              type: boolean
            model_no:
              type: boolean
            suite_info:
              type: boolean
            store_id:
              type: boolean
            catalog_code:
              type: boolean
            keywords:
              type: boolean
            size:
              type: boolean
            height:
              type: boolean
            width:
              type: boolean
            weight:
              type: boolean
            capacity:
              type: boolean
            reviews:
              type: boolean
            price:
              type: boolean
            sale_price:
              type: boolean
            color:
              type: boolean
            color_group:
              type: boolean
    500Response:
      description: Internal Server Error
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
    412Response:
      description: Precondition Failed
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
    404Response:
      description: Not Found
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
    429Response:
      description: Too Many Requests
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponse'
    ContentReservedAttributes:
      type: object
      properties:
        item:
          additionalProperties:
            type: object
          example:
            uid: {}
            item_id: {}
            catalog_views: {}
    ContentConfiguration:
      type: object
      properties:
        feed:
          type: object
          properties:
            enable_feed_jobs:
              type: boolean
        index:
          type: object
          properties:
            enable_index_jobs:
              type: boolean
            search_docs_drop_threshold:
              type: number
        custom_attributes_defaults:
          type: object
          properties:
            facetable:
              type: string
              enum:
              - auto
              - manual
              - 'off'
            searchable:
              type: boolean
        custom_attributes:
          type: object
          additionalProperties:
            type: object
            properties:
              level:
                type: string
                enum:
                - product
                - variant
              displayable:
                type: boolean
              facetable:
                type: string
                enum:
                - auto
                - manual
                - 'off'
              searchable:
                type: boolean
              multi_valued:
                type: boolean
              data_type:
                type: string
                enum:
                - text
                - number
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key