naftiko: 1.0.0-alpha2 info: label: Coveo Push API — Item description: 'Coveo Push API — Item. 4 operations. Lead operation: Delete an Item and Optionally Its Children. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Push - Item created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_API_KEY: COVEO_API_KEY capability: consumes: - type: http namespace: push-item baseUri: https://api.cloud.coveo.com/push/v1 description: Coveo Push API — Item business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_API_KEY}}' resources: - name: organizations-organizationId-sources-sourceId-documents path: /organizations/{organizationId}/sources/{sourceId}/documents operations: - name: delete method: DELETE description: Delete an Item and Optionally Its Children outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderingId in: query type: string description: 'A value indicating the order of arrival of the Push operation in the Coveo Cloud V2 indexing pipeline. A lower value corresponds to an older operation. ' - name: deleteChildren in: query type: string description: Whether to also delete the children of the item. - name: sourceId in: path type: string description: 'The unique identifier of the target Push source (see [Creating a Push Source](https://developers.coveo.com/x/34s9Ag)). ' required: true - name: documentId in: query type: string description: 'The unique identifier of the item. The Coveo item URI (see [Request parameters](https://docs.coveo.com/en/78/#query-parameters-add-update)). ' required: true - name: organizationId in: path type: string description: 'The unique identifier of the target Coveo Cloud V2 organization. ' required: true - name: put method: PUT description: Add or Update an Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderingId in: query type: string description: 'A value indicating the order of arrival of the Push operation in the Coveo Cloud V2 indexing pipeline. A lower value corresponds to an older operation. ' - name: sourceId in: path type: string description: 'The unique identifier of the target Push source (see [Creating a Push Source](https://developers.coveo.com/x/34s9Ag)). ' required: true - name: documentId in: query type: string description: 'The unique identifier of the item. The Coveo item URI (see [Request parameters](https://docs.coveo.com/en/78/#query-parameters-add-update)). ' required: true - name: organizationId in: path type: string description: 'The unique identifier of the target Coveo Cloud V2 organization. ' required: true - name: compressionType in: query type: string description: 'The algorithm that was used to compress the item data. ' - name: documentBody in: body type: string description: A JSON describing a single item to add or update in a Push source. required: true - name: organizations-organizationId-sources-sourceId-documents-batch path: /organizations/{organizationId}/sources/{sourceId}/documents/batch operations: - name: put method: PUT description: Add, Update, and/or Delete a Batch of Items outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderingId in: query type: string description: 'A value indicating the order of arrival of the Push operation in the Coveo Cloud V2 indexing pipeline. A lower value corresponds to an older operation. ' - name: sourceId in: path type: string description: 'The unique identifier of the target Push source (see [Creating a Push Source](https://developers.coveo.com/x/34s9Ag)). ' required: true - name: fileId in: query type: string description: The unique identifier of the Amazon S3 file container into which the JSON definition of the content update was previously uploaded (see [Create a file container required: true - name: organizationId in: path type: string description: 'The unique identifier of the target Coveo Cloud V2 organization. ' required: true - name: organizations-organizationId-sources-sourceId-documents-olderthan path: /organizations/{organizationId}/sources/{sourceId}/documents/olderthan operations: - name: delete method: DELETE description: Delete Old Items outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sourceId in: path type: string description: 'The unique identifier of the target Push source (see [Creating a Push Source](https://developers.coveo.com/x/34s9Ag)). ' required: true - name: orderingId in: query type: string description: 'The lowest Push API operation timestamp value an item must be associated to in order not to be deleted from the Push source. ' required: true - name: queueDelay in: query type: string description: A grace period (in minutes) whose purpose is to give the Coveo Cloud V2 indexing pipeline enough time to finish processing any previously enqueued operation tha - name: organizationId in: path type: string description: 'The unique identifier of the target Coveo Cloud V2 organization. ' required: true exposes: - type: rest namespace: push-item-rest port: 8080 description: REST adapter for Coveo Push API — Item. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organizationid}/sources/{sourceid}/documents name: organizations-organizationid-sources-sourceid-documents description: REST surface for organizations-organizationId-sources-sourceId-documents. operations: - method: DELETE name: delete description: Delete an Item and Optionally Its Children call: push-item.delete with: orderingId: rest.orderingId deleteChildren: rest.deleteChildren sourceId: rest.sourceId documentId: rest.documentId organizationId: rest.organizationId outputParameters: - type: object mapping: $. - method: PUT name: put description: Add or Update an Item call: push-item.put with: orderingId: rest.orderingId sourceId: rest.sourceId documentId: rest.documentId organizationId: rest.organizationId compressionType: rest.compressionType documentBody: rest.documentBody outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/sources/{sourceid}/documents/batch name: organizations-organizationid-sources-sourceid-documents-batch description: REST surface for organizations-organizationId-sources-sourceId-documents-batch. operations: - method: PUT name: put description: Add, Update, and/or Delete a Batch of Items call: push-item.put with: orderingId: rest.orderingId sourceId: rest.sourceId fileId: rest.fileId organizationId: rest.organizationId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/sources/{sourceid}/documents/olderthan name: organizations-organizationid-sources-sourceid-documents-olderthan description: REST surface for organizations-organizationId-sources-sourceId-documents-olderthan. operations: - method: DELETE name: delete description: Delete Old Items call: push-item.delete with: sourceId: rest.sourceId orderingId: rest.orderingId queueDelay: rest.queueDelay organizationId: rest.organizationId outputParameters: - type: object mapping: $. - type: mcp namespace: push-item-mcp port: 9090 transport: http description: MCP adapter for Coveo Push API — Item. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: delete-item-and-optionally-its description: Delete an Item and Optionally Its Children hints: readOnly: false destructive: true idempotent: true call: push-item.delete with: orderingId: tools.orderingId deleteChildren: tools.deleteChildren sourceId: tools.sourceId documentId: tools.documentId organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: add-update-item description: Add or Update an Item hints: readOnly: false destructive: false idempotent: true call: push-item.put with: orderingId: tools.orderingId sourceId: tools.sourceId documentId: tools.documentId organizationId: tools.organizationId compressionType: tools.compressionType documentBody: tools.documentBody outputParameters: - type: object mapping: $. - name: add-update-and-delete-batch description: Add, Update, and/or Delete a Batch of Items hints: readOnly: false destructive: false idempotent: true call: push-item.put with: orderingId: tools.orderingId sourceId: tools.sourceId fileId: tools.fileId organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: delete-old-items description: Delete Old Items hints: readOnly: false destructive: true idempotent: true call: push-item.delete with: sourceId: tools.sourceId orderingId: tools.orderingId queueDelay: tools.queueDelay organizationId: tools.organizationId outputParameters: - type: object mapping: $.