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/).
**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..
**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.
**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.**Minimum:** `0`**Default:**
`0`
- name: pageSize
in: query
type: integer
description: The number of catalogs to list per page.**Minimum:** `1`**Maximum:** `1000`**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.**Default:** `name`
- name: sortingDirection
in: query
type: string
description: The `sortingType` order to list the catalogs in.**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/).
**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/).
**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/).
**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..
**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.**Minimum:** `0`**Default:**
`0`
- name: pageSize
in: query
type: integer
description: The number of catalogs to list per page.**Minimum:** `1`**Maximum:** `1000`**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/).
**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..
**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.**Minimum:** `0`**Default:**
`0`
- name: pageSize
in: query
type: integer
description: The number of catalogs to list per page.**Minimum:** `1`**Maximum:** `1000`**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.**Default:** `name`
- name: sortingDirection
in: query
type: string
description: The `sortingType` order to list the catalogs in.**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/).
**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.
**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/).
**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.
**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/).
**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.
**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/).
**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: $.