Coveo · Capability

Coveo Catalog Management API — Catalogs

Coveo Catalog Management API — Catalogs. 9 operations. Lead operation: List Catalogs. Self-contained Naftiko capability covering one Coveo business surface.

Run with Naftiko CoveoCatalog ManagementCatalogs

What You Can Do

GET
Getcatalogs — List Catalogs
/v1/organizations/{organizationid}/catalogs
POST
Createcatalog — Create Catalog
/v1/organizations/{organizationid}/catalogs
POST
Getfieldssuggestions — Suggest Fields
/v1/organizations/{organizationid}/catalogs/fieldssuggestions
POST
Getcatalogswithidsbody — List Catalogs Using Catalog Ids as a Body for Filtering.
/v1/organizations/{organizationid}/catalogs/ids
GET
Getcatalogswithprojectid — List Catalogs Within Specified Project and According to the Specified Filter.
/v1/organizations/{organizationid}/catalogs/project
GET
Getcatalog — Show Catalog
/v1/organizations/{organizationid}/catalogs/{catalogid}
PUT
Updatecatalog — Update Catalog
/v1/organizations/{organizationid}/catalogs/{catalogid}
DELETE
Deletecatalog — Delete Catalog
/v1/organizations/{organizationid}/catalogs/{catalogid}
GET
Getfieldstats — Show Field Stats
/v1/organizations/{organizationid}/catalogs/{catalogid}/fieldstats

MCP Tools

list-catalogs

List Catalogs

read-only idempotent
create-catalog

Create Catalog

suggest-fields

Suggest Fields

list-catalogs-using-catalog-ids

List Catalogs Using Catalog Ids as a Body for Filtering.

read-only
list-catalogs-within-specified-project

List Catalogs Within Specified Project and According to the Specified Filter.

read-only idempotent
show-catalog

Show Catalog

read-only idempotent
update-catalog

Update Catalog

idempotent
delete-catalog

Delete Catalog

idempotent
show-field-stats

Show Field Stats

read-only idempotent

Capability Spec

catalog-management-catalogs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Coveo Catalog Management API — Catalogs
  description: 'Coveo Catalog Management API — Catalogs. 9 operations. Lead operation: List Catalogs. Self-contained Naftiko
    capability covering one Coveo business surface.'
  tags:
  - Coveo
  - Catalog Management
  - Catalogs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COVEO_API_KEY: COVEO_API_KEY
capability:
  consumes:
  - type: http
    namespace: catalog-management-catalogs
    baseUri: https://platform.cloud.coveo.com
    description: Coveo Catalog Management API — Catalogs business capability. Self-contained, no shared references.
    authentication:
      type: bearer
      token: '{{env.COVEO_API_KEY}}'
    resources:
    - name: rest-organizations-organizationId-catalogs
      path: /rest/organizations/{organizationId}/catalogs
      operations:
      - name: getcatalogs
        method: GET
        description: List Catalogs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: filter
          in: query
          type: string
          description: Filter that will be matched against the catalog id, name, description and its configuration name..<br
            />**Example:** `catalogName`
        - name: catalogIds
          in: query
          type: array
          description: List of the unique identifiers of the [catalog](https://docs.coveo.com/en/3143/) to show.<br />**Example:**
            `[644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b]`
        - name: sourceIds
          in: query
          type: array
          description: List of the unique identifiers of the sources
        - name: page
          in: query
          type: integer
          description: The 0-based index number of the page of catalogs to retrieve.</br>**Minimum:** `0`</br>**Default:**
            `0`
        - name: pageSize
          in: query
          type: integer
          description: The number of catalogs to list per page.</br>**Minimum:** `1`</br>**Maximum:** `1000`</br>**Default:**
            `10`
        - name: enrichWithFields
          in: query
          type: boolean
          description: If true, catalog will be enriched with field suggestions. This requires a call to SearchAPI
        - name: catalogSortingType
          in: query
          type: string
          description: The field to sort the returned catalogs by.</br>**Default:** `name`
        - name: sortingDirection
          in: query
          type: string
          description: The `sortingType` order to list the catalogs in.</br>**Default:** `ASC`
      - name: createcatalog
        method: POST
        description: Create Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-organizations-organizationId-catalogs-fieldsSuggestions
      path: /rest/organizations/{organizationId}/catalogs/fieldsSuggestions
      operations:
      - name: getfieldssuggestions
        method: POST
        description: Suggest Fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-organizations-organizationId-catalogs-ids
      path: /rest/organizations/{organizationId}/catalogs/ids
      operations:
      - name: getcatalogswithidsbody
        method: POST
        description: List Catalogs Using Catalog Ids as a Body for Filtering.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: filter
          in: query
          type: string
          description: Filter that will be matched against the catalog id, name, description and its configuration name..<br
            />**Example:** `catalogName`
        - name: sourceIds
          in: query
          type: array
          description: List of the unique identifiers of the sources
        - name: page
          in: query
          type: integer
          description: The 0-based index number of the page of catalogs to retrieve.</br>**Minimum:** `0`</br>**Default:**
            `0`
        - name: pageSize
          in: query
          type: integer
          description: The number of catalogs to list per page.</br>**Minimum:** `1`</br>**Maximum:** `1000`</br>**Default:**
            `10`
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-organizations-organizationId-catalogs-project
      path: /rest/organizations/{organizationId}/catalogs/project
      operations:
      - name: getcatalogswithprojectid
        method: GET
        description: List Catalogs Within Specified Project and According to the Specified Filter.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: filter
          in: query
          type: string
          description: Filter that will be matched against the catalog id, name, description and its configuration name..<br
            />**Example:** `catalogName`
        - name: projectId
          in: query
          type: string
          description: Id of the project for which we want to retrieve the catalogs
        - name: sourceIds
          in: query
          type: array
          description: List of the unique identifiers of the sources
        - name: page
          in: query
          type: integer
          description: The 0-based index number of the page of catalogs to retrieve.</br>**Minimum:** `0`</br>**Default:**
            `0`
        - name: pageSize
          in: query
          type: integer
          description: The number of catalogs to list per page.</br>**Minimum:** `1`</br>**Maximum:** `1000`</br>**Default:**
            `10`
        - name: enrichWithFields
          in: query
          type: boolean
          description: If true, catalog will be enriched with field suggestions. This requires a call to SearchAPI
        - name: catalogSortingType
          in: query
          type: string
          description: The field to sort the returned catalogs by.</br>**Default:** `name`
        - name: sortingDirection
          in: query
          type: string
          description: The `sortingType` order to list the catalogs in.</br>**Default:** `ASC`
    - name: rest-organizations-organizationId-catalogs-catalogId
      path: /rest/organizations/{organizationId}/catalogs/{catalogId}
      operations:
      - name: getcatalog
        method: GET
        description: Show Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: catalogId
          in: path
          type: string
          description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) to show.<br />**Example:**
            `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
          required: true
      - name: updatecatalog
        method: PUT
        description: Update Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: catalogId
          in: path
          type: string
          description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) to update.<br />**Example:**
            `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletecatalog
        method: DELETE
        description: Delete Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: catalogId
          in: path
          type: string
          description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/) to delete.<br />**Example:**
            `644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b`
          required: true
    - name: rest-organizations-organizationId-catalogs-catalogId-fieldStats
      path: /rest/organizations/{organizationId}/catalogs/{catalogId}/fieldStats
      operations:
      - name: getfieldstats
        method: GET
        description: Show Field Stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: organizationId
          in: path
          type: string
          description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/).<br />**Example:**
            `acmecorporation8tp8wu3`
          required: true
        - name: catalogId
          in: path
          type: string
          description: The unique identifier of the [catalog](https://docs.coveo.com/en/3143/).
          required: true
        - name: forceRefresh
          in: query
          type: boolean
          description: If true, the database cache will be refreshed and the most up-to-date fields data returned.
  exposes:
  - type: rest
    namespace: catalog-management-catalogs-rest
    port: 8080
    description: REST adapter for Coveo Catalog Management API — Catalogs. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/organizations/{organizationid}/catalogs
      name: rest-organizations-organizationid-catalogs
      description: REST surface for rest-organizations-organizationId-catalogs.
      operations:
      - method: GET
        name: getcatalogs
        description: List Catalogs
        call: catalog-management-catalogs.getcatalogs
        with:
          organizationId: rest.organizationId
          filter: rest.filter
          catalogIds: rest.catalogIds
          sourceIds: rest.sourceIds
          page: rest.page
          pageSize: rest.pageSize
          enrichWithFields: rest.enrichWithFields
          catalogSortingType: rest.catalogSortingType
          sortingDirection: rest.sortingDirection
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcatalog
        description: Create Catalog
        call: catalog-management-catalogs.createcatalog
        with:
          organizationId: rest.organizationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/catalogs/fieldssuggestions
      name: rest-organizations-organizationid-catalogs-fieldssuggestions
      description: REST surface for rest-organizations-organizationId-catalogs-fieldsSuggestions.
      operations:
      - method: POST
        name: getfieldssuggestions
        description: Suggest Fields
        call: catalog-management-catalogs.getfieldssuggestions
        with:
          organizationId: rest.organizationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/catalogs/ids
      name: rest-organizations-organizationid-catalogs-ids
      description: REST surface for rest-organizations-organizationId-catalogs-ids.
      operations:
      - method: POST
        name: getcatalogswithidsbody
        description: List Catalogs Using Catalog Ids as a Body for Filtering.
        call: catalog-management-catalogs.getcatalogswithidsbody
        with:
          organizationId: rest.organizationId
          filter: rest.filter
          sourceIds: rest.sourceIds
          page: rest.page
          pageSize: rest.pageSize
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/catalogs/project
      name: rest-organizations-organizationid-catalogs-project
      description: REST surface for rest-organizations-organizationId-catalogs-project.
      operations:
      - method: GET
        name: getcatalogswithprojectid
        description: List Catalogs Within Specified Project and According to the Specified Filter.
        call: catalog-management-catalogs.getcatalogswithprojectid
        with:
          organizationId: rest.organizationId
          filter: rest.filter
          projectId: rest.projectId
          sourceIds: rest.sourceIds
          page: rest.page
          pageSize: rest.pageSize
          enrichWithFields: rest.enrichWithFields
          catalogSortingType: rest.catalogSortingType
          sortingDirection: rest.sortingDirection
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/catalogs/{catalogid}
      name: rest-organizations-organizationid-catalogs-catalogid
      description: REST surface for rest-organizations-organizationId-catalogs-catalogId.
      operations:
      - method: GET
        name: getcatalog
        description: Show Catalog
        call: catalog-management-catalogs.getcatalog
        with:
          organizationId: rest.organizationId
          catalogId: rest.catalogId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecatalog
        description: Update Catalog
        call: catalog-management-catalogs.updatecatalog
        with:
          organizationId: rest.organizationId
          catalogId: rest.catalogId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecatalog
        description: Delete Catalog
        call: catalog-management-catalogs.deletecatalog
        with:
          organizationId: rest.organizationId
          catalogId: rest.catalogId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organizationid}/catalogs/{catalogid}/fieldstats
      name: rest-organizations-organizationid-catalogs-catalogid-fieldstats
      description: REST surface for rest-organizations-organizationId-catalogs-catalogId-fieldStats.
      operations:
      - method: GET
        name: getfieldstats
        description: Show Field Stats
        call: catalog-management-catalogs.getfieldstats
        with:
          organizationId: rest.organizationId
          catalogId: rest.catalogId
          forceRefresh: rest.forceRefresh
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: catalog-management-catalogs-mcp
    port: 9090
    transport: http
    description: MCP adapter for Coveo Catalog Management API — Catalogs. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-catalogs
      description: List Catalogs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: catalog-management-catalogs.getcatalogs
      with:
        organizationId: tools.organizationId
        filter: tools.filter
        catalogIds: tools.catalogIds
        sourceIds: tools.sourceIds
        page: tools.page
        pageSize: tools.pageSize
        enrichWithFields: tools.enrichWithFields
        catalogSortingType: tools.catalogSortingType
        sortingDirection: tools.sortingDirection
      outputParameters:
      - type: object
        mapping: $.
    - name: create-catalog
      description: Create Catalog
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: catalog-management-catalogs.createcatalog
      with:
        organizationId: tools.organizationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: suggest-fields
      description: Suggest Fields
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: catalog-management-catalogs.getfieldssuggestions
      with:
        organizationId: tools.organizationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-catalogs-using-catalog-ids
      description: List Catalogs Using Catalog Ids as a Body for Filtering.
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: catalog-management-catalogs.getcatalogswithidsbody
      with:
        organizationId: tools.organizationId
        filter: tools.filter
        sourceIds: tools.sourceIds
        page: tools.page
        pageSize: tools.pageSize
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-catalogs-within-specified-project
      description: List Catalogs Within Specified Project and According to the Specified Filter.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: catalog-management-catalogs.getcatalogswithprojectid
      with:
        organizationId: tools.organizationId
        filter: tools.filter
        projectId: tools.projectId
        sourceIds: tools.sourceIds
        page: tools.page
        pageSize: tools.pageSize
        enrichWithFields: tools.enrichWithFields
        catalogSortingType: tools.catalogSortingType
        sortingDirection: tools.sortingDirection
      outputParameters:
      - type: object
        mapping: $.
    - name: show-catalog
      description: Show Catalog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: catalog-management-catalogs.getcatalog
      with:
        organizationId: tools.organizationId
        catalogId: tools.catalogId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-catalog
      description: Update Catalog
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: catalog-management-catalogs.updatecatalog
      with:
        organizationId: tools.organizationId
        catalogId: tools.catalogId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-catalog
      description: Delete Catalog
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: catalog-management-catalogs.deletecatalog
      with:
        organizationId: tools.organizationId
        catalogId: tools.catalogId
      outputParameters:
      - type: object
        mapping: $.
    - name: show-field-stats
      description: Show Field Stats
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: catalog-management-catalogs.getfieldstats
      with:
        organizationId: tools.organizationId
        catalogId: tools.catalogId
        forceRefresh: tools.forceRefresh
      outputParameters:
      - type: object
        mapping: $.