Push API - prd

The Push API allows you to *push* items and security identities, as opposed to letting standard Coveo Cloud V2 crawlers *pull* this data from a content repository. This is especially useful when you need to index content from a cloud or on-premises system for which no dedicated source type exists in the Coveo Cloud V2 platform.

OpenAPI Specification

coveo-push-openapi-original.yml Raw ↑
basePath: /v1
definitions:
  BaseIdentityBody:
    properties:
      identity:
        $ref: '#/definitions/Identity'
    type: object
  CatalogStreamOutArgs:
    properties:
      orderingId:
        description: A unique identifier that represents the order of the request. By default, the Stream API automatically
          sets this parameter to the current number of milliseconds since the Unix epoch, providing a timestamp that can also
          serve as a unique order ID.
        type: string
      requestId:
        requestId: A unique identifier for the request. This ID helps in tracking and identifying individual requests, ensuring
          that each request can be distinctly recognized.
        type: string
    type: object
  ChunkOutArgs:
    properties:
      fileId:
        description: "The unique identifier of the file container.  \nYou can use this identifier as the `fileId` query parameter\
          \ value when pushing a batch of items or security identities, or as the `compressedBinaryDataFileId` property value\
          \ when pushing item data.  \n**Example:** `\"b5e8767e-8f0d-4a89-9095-1127915c89c7\"`"
        type: string
      requiredHeaders:
        additionalProperties:
          description: The HTTP headers to include when sending a `POST` request to the `uploadUri`.
          type: string
        type: object
      uploadUri:
        description: "The presigned URI of the file container.  \nYou can upload data into the file container by sending a\
          \ `PUT` request whose body is your raw textual data to this URI.  \n**Example:** `\"https://s3.amazonaws.com/coveo-nprod-customerdata/proda/blobstore/[...]\"\
          `"
        type: string
    type: object
  DocumentBody:
    additionalProperties:
      description: "The metadata key-value pairs to push along with the item (see [Push source item metadata](https://docs.coveo.com/en/115/)).\
        \  \n**Note:**  \nThis specification indicates that metadata values must be of the string type, but other types of\
        \ metadata values are also actually supported (see [Allowed metadata types](https://docs.coveo.com/en/162/))."
      type: string
    properties:
      compressedBinaryData:
        description: "The Base64-encoded item data.  \nDepending on your specific needs, you can either use the `data`, `compressedBinaryData`,\
          \ or `compressedBinaryDataFileId` property to push item data (see [Push source item data](https://docs.coveo.com/en/73/)).\
          \  \n**Example:** `\"H4sIAAAAAAAA/0utSMwtyEkFAJ+b7G4HAAAA\"`"
        type: string
      compressedBinaryDataFileId:
        description: "The unique identifier of the file container where the compressed or uncompressed, binary or non-binary\
          \ item data was previously uploaded (see [Create a file container](https://docs.coveo.com/en/43/)).  \nDepending\
          \ on your specific needs, you can either use the `data`, `compressedBinaryData`, or `compressedBinaryDataFileId`\
          \ property to push item data (see [Push source item data](https://docs.coveo.com/en/73/)).  \n**Example:** `\"b5e8767e-8f0d-4a89-9095-1127915c89c7\"\
          `"
        type: string
      data:
        description: "The raw textual item data.  \nDepending on your specific needs, you can either use the `data`, `compressedBinaryData`,\
          \ or `compressedBinaryDataFileId` property to push item data (see [Push source item data](https://docs.coveo.com/en/73/)).\
          \  \n**Example:** `\"<div>My raw textual item data</div>\"`"
        type: string
      fileExtension:
        description: "The file extension of the item data you are pushing.  \nValue must include a preceding `.` character.\
          \  \nSpecifying a value for this property is typically only useful when using the `compressedBinaryData` or `compressedBinaryDataFileId`\
          \ property to push compressed item data.  \n**Example:** `\".html\"`"
        type: string
      parentId:
        description: "The URI of the parent item (see [Understanding the parentId Property](https://docs.coveo.com/en/57/)).\
          \  \n**Example:** `\"file://folder/\"`"
        type: string
      permissions:
        items:
          $ref: '#/definitions/PermissionSetsModel'
          description: "The permission sets for this item.  \nThis is only useful when pushing items in a secured Push source.\
            \  \nA security identity must be explicitly allowed in **all** permission sets, and not be explicitly denied in\
            \ **any** permission set to be allowed to see the item.  \n**Note:**  \n> The permission model described in this\
            \ specification is flexible enough to allow you to faithfully replicate most secured enterprise systems (see [Simplified\
            \ permission model](https://docs.coveo.com/en/107/)). However, the Push API also accepts a more complex permission\
            \ model which allows you to define multiple permission levels and sets (see [Complete permission model](https://docs.coveo.com/en/25/))."
        type: array
    type: object
  Empty:
    type: object
  EntityUpdateResult:
    properties:
      errorDetails:
        type: string
      result:
        enum:
        - Success
        - AccessDenied
        - TimedOut
        - EntityIsInvalid
        - EntityIsUnavailable
        - SecurityProviderIsUnavailable
        - SecurityProviderIsUnreachable
        - SecurityProviderIsNotReady
        - UnexpectedError
        type: string
    type: object
  Error:
    properties:
      errorCode:
        type: string
      message:
        type: string
    type: object
  GatewayTimeoutError:
    properties:
      message:
        type: string
    type: object
  Identity:
    properties:
      additionalInfo:
        additionalProperties:
          type: string
        type: object
      name:
        description: "The unique name of the security identity.  \n**Example:** `\"Alpha Group\""
        type: string
      type:
        description: "The security identity type.  \n- `UNKNOWN`: a security identity whose type is unknown.  \n- `USER`:\
          \ an individual user security identity  \n- `GROUP`: an existing group in the original secured enterprise system.\
          \ Groups can have members of any valid security identity `type` (i.e., `UNKNOWN`, `USER`, `GROUP`, or `VIRTUAL_GROUP`).\
          \  \n- `VIRTUAL_GROUP`: a group that does not exist in the original secured enterprise system. Mechanically, a `VIRTUAL_GROUP`\
          \ works just like a `GROUP`.  \n**Example:** `\"GROUP\""
        enum:
        - USER
        - GROUP
        - VIRTUAL_GROUP
        - UNKNOWN
        type: string
    type: object
  IdentityBody:
    properties:
      Result:
        $ref: '#/definitions/EntityUpdateResult'
        description: The security identity entity update result.
      identity:
        $ref: '#/definitions/Identity'
      members:
        items:
          $ref: '#/definitions/Identity'
          description: "The security identities to include as children of this security identity.  \n**Notes:**  \n>- Only\
            \ security identities whose `type` is `GROUP` or `VIRTUAL_GROUP` typically have an array of `members`.  \n>- A\
            \ security identity in the `members` array can be of any valid `type` (i.e., `UNKNOWN`, `USER`, `GROUP`, or `VIRTUAL_GROUP`)."
        type: array
      wellKnowns:
        items:
          $ref: '#/definitions/Identity'
          description: "The granted identities to give to this security identity.  \n**Notes:**  \n>- While all security identity\
            \ types (i.e., `UNKNOWN`, `USER`, `GROUP`, and `VIRTUAL_GROUP`) are theoretically available, only security identities\
            \ whose `type` is `GROUP` or `VIRTUAL_GROUP` should be given as granted identities.  \n>- For legacy reasons,\
            \ the Push API requires you to specify *granted identities* in an array property whose name is `wellKnowns`."
        type: array
    type: object
  InlineUpdateBody:
    properties:
      partialUpdate:
        items:
          $ref: '#/definitions/InlineUpdateModel'
          description: The partial update.
        type: array
    type: object
  InlineUpdateModel:
    type: object
  MappedIdentity:
    properties:
      additionalInfo:
        additionalProperties:
          type: string
        type: object
      name:
        description: "The unique name of the security identity to establish an alias relationship with.  \n**Example:** `\"\
          [email protected]\""
        type: string
      provider:
        description: "The unique identifier of the security identity provider where the security identity to establish an\
          \ alias relationship with is defined.  \nThe security identity provider you are pushing the security identity alias\
          \ to **must** cascade to this `provider`.  \n**Note:**  \n> Specifying a `provider` is only necessary when the security\
          \ identity provider you are pushing the security identity alias to cascades to multiple security identity providers.\
          \ If the target security identity provider cascades to a single security identity provider, the service automatically\
          \ sets the `provider` value to the unique identifier of that cascading security identity provider.  \n**Example:**\
          \ `\"My Security Identity Provider\""
        type: string
      type:
        description: "The type of the security identity to establish an alias relationship with.  \n**Note:**  \n> While all\
          \ security identity types (i.e., `UNKNOWN`, `USER`, `GROUP`, and `VIRTUAL_GROUP`) are theoretically available, you\
          \ should normally establish alias relationships exclusively between security identities whose `type` is `USER`.\
          \  \n**Example:** `\"USER\""
        enum:
        - USER
        - GROUP
        - VIRTUAL_GROUP
        - UNKNOWN
        type: string
    type: object
  MappedIdentityBody:
    properties:
      Result:
        $ref: '#/definitions/EntityUpdateResult'
        description: The security identity entity update result.
      identity:
        $ref: '#/definitions/Identity'
      mappings:
        items:
          $ref: '#/definitions/MappedIdentity'
          description: The security identities to establish an alias relationship with.
        type: array
      wellKnowns:
        items:
          $ref: '#/definitions/Identity'
          description: "The granted identities to give to this security identity alias.  \n**Notes:**  \n>- While all security\
            \ identity types (i.e., `UNKNOWN`, `USER`, `GROUP`, and `VIRTUAL_GROUP`) are theoretically available, only security\
            \ identities whose `type` is `GROUP` or `VIRTUAL_GROUP` should be given as granted identities.  \n>- For legacy\
            \ reasons, the Push API requires you to specify *granted identities* in an array property whose name is `wellKnowns`."
        type: array
    type: object
  OpenStreamOutArgs:
    properties:
      fileId:
        description: "The unique identifier of the file container. \n**Example:** `\"b5e8767e-8f0d-4a89-9095-1127915c89c7\"\
          `"
        type: string
      requiredHeaders:
        additionalProperties:
          description: The HTTP headers to include when sending a `POST` request to the `uploadUri`.
          type: string
        type: object
      streamId:
        description: "Unique identifier for the stream. \nThis identifier is required to request additional chunks in the\
          \ stream, or to close the stream."
        type: string
      uploadUri:
        description: "The presigned URI of the file container.  \nYou can upload data into the file container by sending a\
          \ `PUT` request whose body is your raw textual data to this URI.  \n**Example:** `\"https://s3.amazonaws.com/coveo-nprod-customerdata/proda/blobstore/[...]\"\
          `"
        type: string
    type: object
  PermissionIdentityModel:
    properties:
      identity:
        description: "The unique name of the security identity (see [Manage security identities in a security identity provider](https://docs.coveo.com/en/132/)).\
          \  \n**Example:** `\"[email protected]\"`"
        type: string
      identityType:
        description: "The type of the security identity (see [Manage security identities in a security identity provider](https://docs.coveo.com/en/132/)).\
          \  \n**Example:** `\"User\"`"
        enum:
        - User
        - Group
        - VirtualGroup
        - Unknown
        type: string
      securityProvider:
        description: "The unique name of the security identity provider in which the security identity is defined. Defaults\
          \ to the first security identity provider associated with the target Push source (see [Creating a Security Identity\
          \ Provider for a Secured Push Source](https://docs.coveo.com/en/85/).  \n**Example:** `My Secured Push Source Security\
          \ Identity Provider`"
        type: string
    type: object
  PermissionSetsModel:
    properties:
      allowAnonymous:
        description: Whether this permission set allows anonymous users to see the item in their query results.
        type: boolean
      allowedPermissions:
        items:
          $ref: '#/definitions/PermissionIdentityModel'
          description: "The security identities that are explicitly allowed to see the item by this permission set.  \n**Note:**\
            \  \n> You must push those security identities in the security identity provider of the target Push source, otherwise\
            \ they will be in error (see [Manage security identities in a security identity provider](https://docs.coveo.com/en/132/))."
        type: array
      deniedPermissions:
        items:
          $ref: '#/definitions/PermissionIdentityModel'
          description: "The security identities that are explicitly denied to see the item by this permission set.  \n**Note:**\
            \  \n> You must push those security identities in the security identity provider of the target Push source, otherwise\
            \ they will be in error (see [Manage security identities in a security identity provider](https://docs.coveo.com/en/132/))."
        type: array
    type: object
  PresignedUploadUrl:
    properties:
      fileId:
        description: "The unique identifier of the file container.  \nYou can use this identifier as the `fileId` query parameter\
          \ value when pushing a batch of items or security identities, or as the `compressedBinaryDataFileId` property value\
          \ when pushing item data.  \n**Example:** `\"b5e8767e-8f0d-4a89-9095-1127915c89c7\"`"
        type: string
      requiredHeaders:
        additionalProperties:
          description: The HTTP headers to include when sending a `POST` request to the `uploadUri`.
          type: string
        type: object
      uploadUri:
        description: "The presigned URI of the file container.  \nYou can upload data into the file container by sending a\
          \ `PUT` request whose body is your raw textual data to this URI.  \n**Example:** `\"https://s3.amazonaws.com/coveo-nprod-customerdata/proda/blobstore/[...]\"\
          `"
        type: string
    type: object
host: api.cloud.coveo.com/push
info:
  description: The Push API allows you to *push* items and security identities, as opposed to letting standard Coveo Cloud
    V2 crawlers *pull* this data from a content repository. This is especially useful when you need to index content from
    a cloud or on-premises system for which no dedicated source type exists in the Coveo Cloud V2 platform.
  title: Push API - prd
  version: '2016-03-03T13:22:11Z'
paths:
  /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/deleteolderthan/{epochMilliseconds}:
    post:
      consumes:
      - application/json
      description: Delete documents indexed before specified epoch milliseconds.
      parameters:
      - description: "The unique identifier of the target Coveo Cloud V2 organization.  \n**Example:** `mycoveocloudv2organizationg8tp8wu3`"
        in: path
        name: organizationId
        required: true
        type: string
      - description: "The unique identifier of the data collection.  \n**Example:** `myorganization-rp5rxzbdz753uhndklv2ztkfgy`"
        in: path
        name: dataCollectionId
        required: true
        type: string
      - description: "The epoch milliseconds timestamp limit used to delete documents indexed before it.  \n**Example:** `1699456507127\
          \ for nov 8th 2023 15:15 UTC time`"
        in: path
        name: epochMilliseconds
        required: true
        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 that would affect the target stream enabled source. Default\
          \ value is 15 minutes.  \n**Example:** `5`"
        format: int32
        in: query
        minimum: 0
        name: queueDelay
        required: false
        type: integer
      produces:
      - application/json
      responses:
        '201':
          description: Created
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/CatalogStreamOutArgs'
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not found
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '412':
          description: Precondition Failed
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '415':
          description: Unsupported Media Type
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '429':
          description: Too many Requests
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Retry-After:
              type: number
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
      security:
      - oauth2:
        - full
      summary: Delete Old Documents
      tags:
      - Stream
      x-pretty-name: deleteOlderThanStream
  /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/merge:
    put:
      consumes:
      - application/json
      description: Perform a shallow merge with a batch of items in a Data Collection.
      externalDocs:
        description: Merge a batch of items in a Data Collection.
        url: https://docs.coveo.com/en/p4eb0515/coveo-for-commerce/partial-catalog-data-updates#shallow-merge-operations
      parameters:
      - description: "The unique identifier of the target Coveo Cloud V2 organization.  \n**Example:** `mycoveocloudv2organizationg8tp8wu3`"
        in: path
        name: organizationId
        required: true
        type: string
      - description: "The unique identifier of the data collection.  \n**Example:** `myorganization-rp5rxzbdz753uhndklv2ztkfgy`"
        in: path
        name: dataCollectionId
        required: true
        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](https://docs.coveo.com/en/43/)).  \n**Example:**\
          \ d22778ca-7f42-4e13-9d9a-47d01bce866c"
        in: query
        name: fileId
        required: true
        type: string
      produces:
      - application/json
      responses:
        '202':
          description: Created
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/CatalogStreamOutArgs'
        '400':
          description: Bad request
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not found
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '412':
          description: Precondition Failed
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '415':
          description: Unsupported Media Type
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '429':
          description: Too many Requests
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Retry-After:
              type: number
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
            X-Content-Type-Options:
              type: string
            X-Frame-Options:
              type: string
            X-XSS-Protection:
              type: string
          schema:
            $ref: '#/definitions/Error'
      security:
      - oauth2:
        - full
      summary: Merge Entities of a Data Collection
      tags:
      - Stream
      x-pretty-name: mergeStream
  /organizations/{organizationId}/data-collections/{dataCollectionId}/stream/open:
    post:
      consumes:
      - application/json
      description: Opens a stream for upload.
      parameters:
      - description: "The unique identifier of the target Coveo Cloud V2 organization.  \n**Example:** `mycoveocloudv2organizationg8tp8wu3`"
        in: path
        name: organizationId
        required: true
        type: string
      - description: "The unique identifier of the data collection.  \n**Example:** `myorganization-rp5rxzbdz753uhndklv2ztkfgy`"
        in: path
        name: dataCollectionId
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          headers:
            Access-Control-Allow-Headers:
              type: string
            Access-Control-Allow-Methods:
              type: string
            Access-Control-Allow-Origin:
              type: string
            Content-Security-Policy:
              type: string
            Referrer-Policy:
              type: string
            Strict-Transport-Security:
              type: string
         

# --- truncated at 32 KB (196 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coveo/refs/heads/main/openapi/coveo-push-openapi-original.yml