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: $.