Mapp Marketing Cloud Catalog Metadata Operations API

Endpoints for catalog metadata operations

Operations 2

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 /api/product-catalog/v1/catalogs/metadata/attribute/{catalogId} List a catalog's active attributes · Get all attributes assigned to a catalog #
Ask an LLM
“Which attributes are assigned to a product catalog?”
“Are inactive attributes included in a catalog's attribute list?”
Tell an agent
List the attributes of catalog {catalogId}.
Show active attributes assigned to catalog {catalogId}.
GET /api/product-catalog/v1/catalogs/metadata/catalog/workspace Get my workspace's catalog metadata · Get catalog metadata for a workspace #
Ask an LLM
“Which product catalog is assigned to my workspace?”
“Can I get catalog metadata for the workspace my token belongs to?”
Tell an agent
Get the catalog metadata for my workspace.
Show which catalog my workspace uses.

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/mapp:mapp-catalog-metadata-operations-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

mapp-catalog-metadata-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Product Catalog - Public Catalog Metadata Operations API
  version: 1.0.1
  description: Endpoints for catalog metadata operations
servers:
- url: https://api.mapp.com
security:
- Keycloak: []
tags:
- name: Catalog Metadata Operations
  description: Endpoints for catalog metadata operations
paths:
  /api/product-catalog/v1/catalogs/metadata/attribute/{catalogId}:
    get:
      tags:
      - Catalog Metadata Operations
      summary: Get all attributes assigned to a catalog
      description: Returns all active attributes assigned to the specified catalog. Inactive attributes are not returned by this endpoint.
      operationId: getCatalogAttributes
      parameters:
      - name: catalogId
        in: path
        description: Catalog identifier whose assigned attributes should be returned.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Catalog attributes found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CatalogAttributeDTO'
              example:
              - name: color
                dataType: MAP
                localizedAttributeKeyType: LANGUAGE_COUNTRY
                localizedAttributeValueType: STRING
                catalogType: SOURCE
              - name: price
                dataType: MAP
                localizedAttributeKeyType: COUNTRY
                localizedAttributeValueType: DECIMAL
                catalogType: SOURCE
              - name: fashion_material
                dataType: STRING
                localizedAttributeKeyType: null
                localizedAttributeValueType: null
                catalogType: ENRICHED
        '500':
          description: Unexpected error while fetching catalog attributes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Unexpected error while processing request
                httpStatus: 500
                errorCode: 500 Internal Server Error
                timestamp: '2026-07-08T12:00:00Z'
        '204':
          description: No active attributes are assigned to the catalog.
  /api/product-catalog/v1/catalogs/metadata/catalog/workspace:
    get:
      tags:
      - Catalog Metadata Operations
      summary: Get catalog metadata for a workspace
      description: Returns the metadata of the catalog assigned to a workspace, which a token you authorize with belongs to
      operationId: getCatalogMetadataByWorkspace
      parameters: []
      responses:
        '204':
          description: No catalog is assigned to the requested workspace, or the assigned catalog lookup returned an empty body.
        '404':
          description: Assigned catalog was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: 'Product feed not found for companyId: 456 and feedId: 123'
                httpStatus: 404
                errorCode: 404 Not Found
                timestamp: '2026-07-08T12:00:00Z'
        '200':
          description: Catalog metadata found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogDTO'
              example:
                id: 123
                name: Spring Fashion Catalog
                description: Primary product catalog for spring assortment
                enrichReady: true
                createDate: '2026-07-08T12:00:00Z'
                modifyDate: '2026-07-08T13:30:00Z'
                creatorId: 789
        '500':
          description: Unexpected error while fetching catalog metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Unexpected error while processing request
                httpStatus: 500
                errorCode: 500 Internal Server Error
                timestamp: '2026-07-08T12:00:00Z'
components:
  schemas:
    CatalogDTO:
      type: object
      properties:
        id:
          type: integer
          description: Catalog identifier
          format: int64
          readOnly: true
        name:
          type: string
          description: Catalog name
        description:
          type: string
          description: Catalog description
        enrichReady:
          type: boolean
          description: Whether enriched catalog data is ready
        createDate:
          type: string
          description: Catalog creation date
          format: date-time
          readOnly: true
        modifyDate:
          type: string
          description: Catalog last modification date
          format: date-time
          readOnly: true
        creatorId:
          type: integer
          description: Identifier of the user who created the catalog
          format: int64
          readOnly: true
      description: Public catalog metadata
    CatalogAttributeDTO:
      type: object
      properties:
        name:
          type: string
          description: Unique attribute name as defined in the catalog
        dataType:
          type: string
          description: 'Data type of a catalog attribute value:

            - `STRING` — plain text value (e.g. `"blue"`)

            - `NUMBER` — integer or decimal value (e.g. `42`, `3.14`)

            - `BOOLEAN` — boolean value (`true` or `false`)

            - `JSON` — arbitrary JSON object (e.g. `{"key": "value"}`)

            - `MAP` — flat key-value map (e.g. `{"en": "blue", "de": "blau"}`)

            - `LIST` — ordered list of scalar values (e.g. `["S", "M", "L"]`)

            - `LIST_OF_MAPS` — list of key-value maps (e.g. `[{"color": "red"}, {"color": "blue"}]`)

            - `MAP_OF_LISTS` — map where each key holds a list of values (e.g. `{"sizes": ["S", "M"], "colors": ["red"]}`)'
          enum:
          - STRING
          - NUMBER
          - BOOLEAN
          - JSON
          - MAP
          - LIST
          - LIST_OF_MAPS
          - MAP_OF_LISTS
        localizedAttributeKeyType:
          type: string
          description: 'Type of localized attribute key, determining the expected key format:

            - `COUNTRY_CODE` — ISO 3166-1 alpha-2 two-letter country code (e.g. `US`, `DE`)

            - `LANGUAGE_CODE` — ISO 639-1 two-letter language code (e.g. `en`, `de`)

            - `LANGUAGE_CODE_COUNTRY_CODE` — BCP 47 language-country tag, hyphen-separated (e.g. `en-US`, `de-DE`)

            - `CURRENCY` — ISO 4217 three-letter currency code (e.g. `USD`, `EUR`)

            - `NUMBER` — numeric value, integer or decimal (e.g. `42`, `3.14`)

            - `STRING` — arbitrary string value'
          enum:
          - COUNTRY_CODE
          - LANGUAGE_CODE
          - LANGUAGE_CODE_COUNTRY_CODE
          - CURRENCY
          - NUMBER
          - STRING
        localizedAttributeValueType:
          type: string
          description: 'Type of localized attribute value, determining the expected value format:

            - `STRING` — arbitrary string value (e.g. `sample text`)

            - `NUMBER` — numeric value, integer or decimal (e.g. `42`, `3.14`)

            - `BOOLEAN` — boolean value (`true` or `false`)

            - `COUNTRY_CODE` — ISO 3166-1 alpha-2 two-letter country code (e.g. `US`, `DE`)

            - `LANGUAGE_CODE` — ISO 639-1 two-letter language code (e.g. `en`, `de`)

            - `CURRENCY` — ISO 4217 three-letter currency code (e.g. `USD`, `EUR`)

            - `LANGUAGE_CODE_COUNTRY_CODE` — BCP 47 language-country tag, hyphen-separated (e.g. `en-US`, `de-DE`)'
          enum:
          - STRING
          - NUMBER
          - BOOLEAN
          - COUNTRY_CODE
          - LANGUAGE_CODE
          - CURRENCY
          - LANGUAGE_CODE_COUNTRY_CODE
        catalogType:
          type: string
          description: Catalog data layer this attribute originates from
          enum:
          - SOURCE
          - ENRICHED
          - COMBINED
      description: Represents a single product catalog attribute with its data type and optional localization metadata
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
        httpStatus:
          type: integer
          format: int32
        errorCode:
          type: string
        timestamp:
          type: string
          format: date-time
  securitySchemes:
    Keycloak:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-apievangelist-provenance:
  method: searched
  generated: '2026-08-12'
  source: https://docs.mapp.com/apidocs/ (per-endpoint OpenAPI fragments, Product Catalog API)
  note: Union of the OpenAPI 3.0.1 fragments Mapp publishes on each Product Catalog endpoint page. Content verbatim.