> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a data part

> Creates a data part within the Stream execution to upload chunks of rows to the DataSet. The calling client should keep track of parts and order them accordingly in an increasing sequence. If a part upload fails, retry the upload as all parts must be present before committing the stream execution.

<Note>
**Best Practice**

Parts can be uploaded simultaneously in separate threads assuming that each part has a distinct part ID and is ordered correctly. To reduce upload time, compress each data as a gzip file (application/gzip).
</Note>




## OpenAPI

````yaml /openapi/platform/stream.yaml PUT /v1/streams/{STREAM_ID}/executions/{EXECUTION_ID}/part/{PART_ID}
openapi: 3.1.0
info:
  title: Stream API
  version: '1.0'
  description: >
    The Stream API allows you to automate the creation of new DataSets in your
    Domo Warehouse, featuring an accelerated upload Stream. A Domo Stream
    expedites uploads by dividing your data into parts, and uploading all of
    these parts simultaneously.


    <!-- theme: info -->

    > ### Best Practices

    >

    > This API should be used to create and update massive, constantly changing,
    or rapidly growing DataSets. For creating and updating smaller DataSets that
    occasionally need data updated, leverage the DataSet API. 



    ## The Stream Object


    ## Stream Attributes

    Property Name | Type | Description

    ------- | ------- | -------

    id | Number | ID of the Stream

    modifiedAt | String | An ISO-8601 representation of the time the Stream was
    last updated

    updateMethod | String | The data import behavior

    createdAt | String | An ISO-8601 representation of the create date of the
    Stream


    ### Stream's DataSet Attributes

    Property Name | Type | Description

    ------- | ------- | -------

    id | String  | The UID of the DataSet associated to the Stream

    name | String | The description of the DataSet associated to the Stream

    description | String | The ID of the DataSet associated to the Stream

    rows | Number | The number of rows in the DataSet

    columns | Number | The number of columns in the DataSet's schema

    owner_id | Number | The ID of the owner of the Stream's underlying DataSet

    owner_name | String | The name of the owner of the Stream's underlying
    DataSet

    pdpEnabled | Boolean | Indicates if PDP [Personalized Data Permission]
    policy filtering on data is active on this DataSet
servers:
  - url: https://api.domo.com
    description: Domo API
security:
  - bearerAuth: []
paths:
  /v1/streams/{STREAM_ID}/executions/{EXECUTION_ID}/part/{PART_ID}:
    parameters:
      - schema:
          type: number
        name: STREAM_ID
        in: path
        required: true
        description: The ID of the Stream of data being imported into a DataSet
      - schema:
          type: number
        name: EXECUTION_ID
        in: path
        required: true
        description: The ID of the Stream execution within the Stream
      - schema:
          type: number
        name: PART_ID
        in: path
        required: true
        description: >-
          The ID of the data part being used to upload a subset of data within
          the Stream execution
    put:
      summary: Upload a data part
      description: >
        Creates a data part within the Stream execution to upload chunks of rows
        to the DataSet. The calling client should keep track of parts and order
        them accordingly in an increasing sequence. If a part upload fails,
        retry the upload as all parts must be present before committing the
        stream execution.


        <Note>

        **Best Practice**


        Parts can be uploaded simultaneously in separate threads assuming that
        each part has a distinct part ID and is ordered correctly. To reduce
        upload time, compress each data as a gzip file (application/gzip).

        </Note>
      operationId: put-v1-streams-STREAM_ID-executions---copy
      responses:
        '200':
          description: >-
            Returns a subset of a stream object and a parameter of success or
            error based on whether the data part within the stream execution
            being successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  startedAt:
                    type: string
                  currentState:
                    type: string
                  createdAt:
                    type: string
                  modifiedAt:
                    type: string
                x-examples:
                  Example 1:
                    id: 1
                    startedAt: '2016-06-16T17:54:02Z'
                    currentState: ACTIVE
                    createdAt: '2016-06-16T17:54:01Z'
                    modifiedAt: '2016-06-16T17:54:02Z'
              examples:
                Example 1:
                  value:
                    id: 1
                    startedAt: '2016-06-16T17:54:02Z'
                    currentState: ACTIVE
                    createdAt: '2016-06-16T17:54:01Z'
                    modifiedAt: '2016-06-16T17:54:02Z'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````