Coveo · Capability
Coveo Push API — Stream
Coveo Push API — Stream. 12 operations. Lead operation: Delete Old Documents. Self-contained Naftiko capability covering one Coveo business surface.
What You Can Do
POST
Post
— Delete Old Documents
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/deleteolderthan/{epochmilliseconds}
PUT
Put
— Merge Entities of a Data Collection
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/merge
POST
Post
— Open a Stream
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/open
PUT
Put
— Update Entities of a Data Collection
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/update
POST
Post
— Get a New Chunk for a Stream
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/{streamid}/chunk
POST
Post
— Close a Stream
/v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/{streamid}/close
POST
Post
— Delete Old Documents
/v1/organizations/{organizationid}/sources/{sourceid}/stream/deleteolderthan/{epochmilliseconds}
PUT
Put
— Merge Documents of a Catalog Stream Source
/v1/organizations/{organizationid}/sources/{sourceid}/stream/merge
POST
Post
— Open a Stream
/v1/organizations/{organizationid}/sources/{sourceid}/stream/open
PUT
Put
— Update a Catalog Stream Source
/v1/organizations/{organizationid}/sources/{sourceid}/stream/update
POST
Post
— Get a New Chunk for a Stream
/v1/organizations/{organizationid}/sources/{sourceid}/stream/{streamid}/chunk
POST
Post
— Close a Stream
/v1/organizations/{organizationid}/sources/{sourceid}/stream/{streamid}/close
MCP Tools
delete-old-documents
Delete Old Documents
merge-entities-data-collection
Merge Entities of a Data Collection
idempotent
open-stream
Open a Stream
update-entities-data-collection
Update Entities of a Data Collection
idempotent
get-new-chunk-stream
Get a New Chunk for a Stream
read-only
close-stream
Close a Stream
delete-old-documents-2
Delete Old Documents
merge-documents-catalog-stream-source
Merge Documents of a Catalog Stream Source
idempotent
open-stream-2
Open a Stream
update-catalog-stream-source
Update a Catalog Stream Source
idempotent
get-new-chunk-stream-2
Get a New Chunk for a Stream
read-only
close-stream-2
Close a Stream
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Coveo Push API — Stream
description: 'Coveo Push API — Stream. 12 operations. Lead operation: Delete Old Documents. Self-contained Naftiko capability
covering one Coveo business surface.'
tags:
- Coveo
- Push
- Stream
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
COVEO_API_KEY: COVEO_API_KEY
capability:
consumes:
- type: http
namespace: push-stream
baseUri: https://api.cloud.coveo.com/push/v1
description: Coveo Push API — Stream business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.COVEO_API_KEY}}'
resources:
- name: organizations-organizationId-data-collections-dataCollectionId-stream-deleteolde
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/deleteolderthan/{epochMilliseconds}
operations:
- name: post
method: POST
description: Delete Old Documents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
required: true
- name: epochMilliseconds
in: path
type: string
description: 'The epoch milliseconds timestamp limit used to delete documents indexed before it. '
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: organizations-organizationId-data-collections-dataCollectionId-stream-merge
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/merge
operations:
- name: put
method: PUT
description: Merge Entities of a Data Collection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
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: organizations-organizationId-data-collections-dataCollectionId-stream-open
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/open
operations:
- name: post
method: POST
description: Open a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
required: true
- name: organizations-organizationId-data-collections-dataCollectionId-stream-update
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/update
operations:
- name: put
method: PUT
description: Update Entities of a Data Collection
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
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: shard
in: path
type: string
description: '**Experimental** An identifier to process the JSON payload by groups. The shard must be a string from
1 to 10 alphanumeric characters.'
- name: organizations-organizationId-data-collections-dataCollectionId-stream-streamId-c
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/{streamId}/chunk
operations:
- name: post
method: POST
description: Get a New Chunk for a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
required: true
- name: streamId
in: path
type: string
description: 'The unique identifier of the stream. '
required: true
- name: organizations-organizationId-data-collections-dataCollectionId-stream-streamId-c
path: /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/{streamId}/close
operations:
- name: post
method: POST
description: Close a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: dataCollectionId
in: path
type: string
description: 'The unique identifier of the data collection. '
required: true
- name: streamId
in: path
type: string
description: 'The unique identifier of the stream. '
required: true
- name: organizations-organizationId-sources-sourceId-stream-deleteolderthan-epochMillis
path: /organizations/{organizationId}/sources/{sourceId}/stream/deleteolderthan/{epochMilliseconds}
operations:
- name: post
method: POST
description: Delete Old Documents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: sourceId
in: path
type: string
description: 'The unique identifier of the target source. '
required: true
- name: epochMilliseconds
in: path
type: string
description: 'The epoch milliseconds timestamp limit used to delete documents indexed before it. '
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: organizations-organizationId-sources-sourceId-stream-merge
path: /organizations/{organizationId}/sources/{sourceId}/stream/merge
operations:
- name: put
method: PUT
description: Merge Documents of a Catalog Stream Source
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- 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: organizations-organizationId-sources-sourceId-stream-open
path: /organizations/{organizationId}/sources/{sourceId}/stream/open
operations:
- name: post
method: POST
description: Open a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: sourceId
in: path
type: string
description: 'The unique identifier of the target source. '
required: true
- name: organizations-organizationId-sources-sourceId-stream-update
path: /organizations/{organizationId}/sources/{sourceId}/stream/update
operations:
- name: put
method: PUT
description: Update a Catalog Stream Source
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- 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: shard
in: path
type: string
description: '**Experimental** An identifier to process the JSON payload by groups. The shard must be a string from
1 to 10 alphanumeric characters.'
- name: organizations-organizationId-sources-sourceId-stream-streamId-chunk
path: /organizations/{organizationId}/sources/{sourceId}/stream/{streamId}/chunk
operations:
- name: post
method: POST
description: Get a New Chunk for a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: sourceId
in: path
type: string
description: 'The unique identifier of the target source. '
required: true
- name: streamId
in: path
type: string
description: 'The unique identifier of the stream. '
required: true
- name: organizations-organizationId-sources-sourceId-stream-streamId-close
path: /organizations/{organizationId}/sources/{sourceId}/stream/{streamId}/close
operations:
- name: post
method: POST
description: Close a Stream
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: organizationId
in: path
type: string
description: 'The unique identifier of the target Coveo Cloud V2 organization. '
required: true
- name: sourceId
in: path
type: string
description: 'The unique identifier of the target source. '
required: true
- name: streamId
in: path
type: string
description: 'The unique identifier of the stream. '
required: true
exposes:
- type: rest
namespace: push-stream-rest
port: 8080
description: REST adapter for Coveo Push API — Stream. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/deleteolderthan/{epochmilliseconds}
name: organizations-organizationid-data-collections-datacollectionid-stream-deleteolde
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-deleteolde.
operations:
- method: POST
name: post
description: Delete Old Documents
call: push-stream.post
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
epochMilliseconds: rest.epochMilliseconds
queueDelay: rest.queueDelay
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/merge
name: organizations-organizationid-data-collections-datacollectionid-stream-merge
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-merge.
operations:
- method: PUT
name: put
description: Merge Entities of a Data Collection
call: push-stream.put
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
fileId: rest.fileId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/open
name: organizations-organizationid-data-collections-datacollectionid-stream-open
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-open.
operations:
- method: POST
name: post
description: Open a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/update
name: organizations-organizationid-data-collections-datacollectionid-stream-update
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-update.
operations:
- method: PUT
name: put
description: Update Entities of a Data Collection
call: push-stream.put
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
fileId: rest.fileId
shard: rest.shard
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/{streamid}/chunk
name: organizations-organizationid-data-collections-datacollectionid-stream-streamid-c
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-streamId-c.
operations:
- method: POST
name: post
description: Get a New Chunk for a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
streamId: rest.streamId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/data-collections/{datacollectionid}/stream/{streamid}/close
name: organizations-organizationid-data-collections-datacollectionid-stream-streamid-c
description: REST surface for organizations-organizationId-data-collections-dataCollectionId-stream-streamId-c.
operations:
- method: POST
name: post
description: Close a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
dataCollectionId: rest.dataCollectionId
streamId: rest.streamId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/deleteolderthan/{epochmilliseconds}
name: organizations-organizationid-sources-sourceid-stream-deleteolderthan-epochmillis
description: REST surface for organizations-organizationId-sources-sourceId-stream-deleteolderthan-epochMillis.
operations:
- method: POST
name: post
description: Delete Old Documents
call: push-stream.post
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
epochMilliseconds: rest.epochMilliseconds
queueDelay: rest.queueDelay
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/merge
name: organizations-organizationid-sources-sourceid-stream-merge
description: REST surface for organizations-organizationId-sources-sourceId-stream-merge.
operations:
- method: PUT
name: put
description: Merge Documents of a Catalog Stream Source
call: push-stream.put
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
fileId: rest.fileId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/open
name: organizations-organizationid-sources-sourceid-stream-open
description: REST surface for organizations-organizationId-sources-sourceId-stream-open.
operations:
- method: POST
name: post
description: Open a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/update
name: organizations-organizationid-sources-sourceid-stream-update
description: REST surface for organizations-organizationId-sources-sourceId-stream-update.
operations:
- method: PUT
name: put
description: Update a Catalog Stream Source
call: push-stream.put
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
fileId: rest.fileId
shard: rest.shard
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/{streamid}/chunk
name: organizations-organizationid-sources-sourceid-stream-streamid-chunk
description: REST surface for organizations-organizationId-sources-sourceId-stream-streamId-chunk.
operations:
- method: POST
name: post
description: Get a New Chunk for a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
streamId: rest.streamId
outputParameters:
- type: object
mapping: $.
- path: /v1/organizations/{organizationid}/sources/{sourceid}/stream/{streamid}/close
name: organizations-organizationid-sources-sourceid-stream-streamid-close
description: REST surface for organizations-organizationId-sources-sourceId-stream-streamId-close.
operations:
- method: POST
name: post
description: Close a Stream
call: push-stream.post
with:
organizationId: rest.organizationId
sourceId: rest.sourceId
streamId: rest.streamId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: push-stream-mcp
port: 9090
transport: http
description: MCP adapter for Coveo Push API — Stream. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: delete-old-documents
description: Delete Old Documents
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
epochMilliseconds: tools.epochMilliseconds
queueDelay: tools.queueDelay
outputParameters:
- type: object
mapping: $.
- name: merge-entities-data-collection
description: Merge Entities of a Data Collection
hints:
readOnly: false
destructive: false
idempotent: true
call: push-stream.put
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
fileId: tools.fileId
outputParameters:
- type: object
mapping: $.
- name: open-stream
description: Open a Stream
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
outputParameters:
- type: object
mapping: $.
- name: update-entities-data-collection
description: Update Entities of a Data Collection
hints:
readOnly: false
destructive: false
idempotent: true
call: push-stream.put
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
fileId: tools.fileId
shard: tools.shard
outputParameters:
- type: object
mapping: $.
- name: get-new-chunk-stream
description: Get a New Chunk for a Stream
hints:
readOnly: true
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
streamId: tools.streamId
outputParameters:
- type: object
mapping: $.
- name: close-stream
description: Close a Stream
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
dataCollectionId: tools.dataCollectionId
streamId: tools.streamId
outputParameters:
- type: object
mapping: $.
- name: delete-old-documents-2
description: Delete Old Documents
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
epochMilliseconds: tools.epochMilliseconds
queueDelay: tools.queueDelay
outputParameters:
- type: object
mapping: $.
- name: merge-documents-catalog-stream-source
description: Merge Documents of a Catalog Stream Source
hints:
readOnly: false
destructive: false
idempotent: true
call: push-stream.put
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
fileId: tools.fileId
outputParameters:
- type: object
mapping: $.
- name: open-stream-2
description: Open a Stream
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
outputParameters:
- type: object
mapping: $.
- name: update-catalog-stream-source
description: Update a Catalog Stream Source
hints:
readOnly: false
destructive: false
idempotent: true
call: push-stream.put
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
fileId: tools.fileId
shard: tools.shard
outputParameters:
- type: object
mapping: $.
- name: get-new-chunk-stream-2
description: Get a New Chunk for a Stream
hints:
readOnly: true
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
streamId: tools.streamId
outputParameters:
- type: object
mapping: $.
- name: close-stream-2
description: Close a Stream
hints:
readOnly: false
destructive: false
idempotent: false
call: push-stream.post
with:
organizationId: tools.organizationId
sourceId: tools.sourceId
streamId: tools.streamId
outputParameters:
- type: object
mapping: $.