> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload one resumable chunk to a NetApp volume

> Upload a single chunk of a file as part of a resumable upload into a NetApp volume.
Call this repeatedly after POST /remotefs/v1/volumes/{id}/uploads/start until all chunks are sent, then complete the session with GET /remotefs/v1/volumes/{id}/uploads/{uploadID}/complete.
Related: POST /remotefs/v1/volumes/{id}/uploads/start (begin upload session; use returned key as query param key)
Related: GET /remotefs/v1/volumes/{id}/uploads/status (check whether a chunk was already uploaded when resuming)
Related: GET /remotefs/v1/volumes/{id}/uploads/{uploadID}/complete (finalize the upload)



## OpenAPI

````yaml /api-specs/cloud/public-api.json post /webvfs/remotefs/v1/volumes/{id}/uploads
openapi: 3.0.3
info:
  title: Domino Public API
  description: Reference for Domino's public REST API endpoints.
  version: 6.4.0
  x-catalog-key: nucleus
servers:
  - url: https://mycluster.domino.tech
    description: >-
      Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
      Domino Cloud customers, that is `your-subdomain`.domino.tech (e.g.,
      acme.domino.tech). For self-hosted deployments, it is the hostname you
      reach the Domino UI at.
security: []
tags:
  - name: Projects
  - name: Project templates
  - name: Workspaces
  - name: Jobs
  - name: HPC Jobs
  - name: Environments
  - name: Hardware Tiers
  - name: Datasets
  - name: Data Sources
  - name: GenAI
  - name: AI Systems
  - name: MLflow experiments and runs
  - name: MLflow models
  - name: MLflow artifacts
  - name: MLflow traces
  - name: Apps
  - name: App versions
  - name: App instances
  - name: Model APIs
  - name: Registered models
  - name: Model deployment
  - name: Extensions
  - name: Cost and billing
  - name: Users and organizations
  - name: Service accounts
  - name: Personal Access Tokens
  - name: Personal Access Tokens (admin)
  - name: Audit Trail
  - name: Custom metrics
  - name: PPM
  - name: Model Monitoring models
  - name: Model Monitoring drift and quality
  - name: Model Monitoring settings
  - name: Model Monitoring authentication
  - name: Governance bundles
  - name: Governance policies
  - name: Governance evidence and results
  - name: Governance operations
  - name: NetApp Volumes
  - name: NetApp Volumes snapshots
  - name: NetApp Volumes filesystems
  - name: NetApp Volumes transfers
  - name: Tags
  - name: Properties
externalDocs:
  description: OpenAPI
  url: https://swagger.io/resources/open-api/
paths:
  /webvfs/remotefs/v1/volumes/{id}/uploads:
    post:
      tags:
        - NetApp Volumes
      summary: Upload one resumable chunk to a NetApp volume
      description: >-
        Upload a single chunk of a file as part of a resumable upload into a
        NetApp volume.

        Call this repeatedly after POST /remotefs/v1/volumes/{id}/uploads/start
        until all chunks are sent, then complete the session with GET
        /remotefs/v1/volumes/{id}/uploads/{uploadID}/complete.

        Related: POST /remotefs/v1/volumes/{id}/uploads/start (begin upload
        session; use returned key as query param key)

        Related: GET /remotefs/v1/volumes/{id}/uploads/status (check whether a
        chunk was already uploaded when resuming)

        Related: GET /remotefs/v1/volumes/{id}/uploads/{uploadID}/complete
        (finalize the upload)
      operationId: uploadVolumeFileChunk
      parameters:
        - description: >-
            NetApp volume ID. Obtain from GET /remotefs/v1/volumes or GET
            /remotefs/v1/volumes/{id} in the platform API catalog.
          name: id
          in: path
          required: true
          schema:
            type: string
        - description: Number of the current chunk
          name: resumableChunkNumber
          in: query
          required: true
          schema:
            type: integer
        - description: Total number of chunks of the file to upload
          name: resumableTotalChunks
          in: query
          required: true
          schema:
            type: integer
        - description: Unique identifier for the file to upload
          name: resumableIdentifier
          in: query
          required: true
          schema:
            type: string
        - description: >-
            Upload session key returned by POST
            /remotefs/v1/volumes/{id}/uploads/start. Must be the same for every
            chunk in one upload.
          name: key
          in: query
          required: true
          schema:
            type: string
        - description: >-
            Path of the file to upload relative to the root directory being
            uploaded if applicable, or the file name
          name: resumableRelativePath
          in: query
          required: true
          schema:
            type: string
        - description: Size in bytes of one standard (not last) upload chunk
          name: resumableChunkSize
          in: query
          required: true
          schema:
            type: integer
        - description: Size in bytes of the current upload chunk
          name: resumableCurrentChunkSize
          in: query
          required: true
          schema:
            type: integer
        - description: Checksum of the file to upload
          name: checksum
          in: query
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/data-webvfs-service_uploadDatasetFileChunk'
      responses:
        '200':
          description: Upload session key (same as query param key)
          content:
            application/json:
              schema:
                type: string
        '400':
          description: >-
            Invalid request: missing resumable query parameters or file form
            field, or chunk size rules violated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data-webvfs-service_model.HTTPError'
        '404':
          description: >-
            Volume or upload session not found. Verify volume id and session key
            from POST .../uploads/start.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data-webvfs-service_model.HTTPError'
        '500':
          description: >-
            Server error while persisting the chunk. Retry; use GET
            .../uploads/status before resending a chunk that may already exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data-webvfs-service_model.HTTPError'
components:
  requestBodies:
    data-webvfs-service_uploadDatasetFileChunk:
      content:
        application/x-www-form-urlencoded:
          schema:
            type: object
            properties:
              file:
                description: File to upload
                type: string
                format: binary
            required:
              - file
      required: true
  schemas:
    data-webvfs-service_model.HTTPError:
      type: object
      properties:
        message:
          type: string
          example: Bad Request
        success:
          type: boolean
          example: false

````

## Related topics

- [Returns whether this upload chunk has already been sent](/api-reference/netapp-volumes/returns-whether-this-upload-chunk-has-already-been-sent.md)
- [Upload one resumable chunk to a Dataset snapshot](/api-reference/datasets/upload-one-resumable-chunk-to-a-dataset-snapshot.md)
- [Returns whether or not this upload chunk has already been sent](/api-reference/datasets/returns-whether-or-not-this-upload-chunk-has-already-been-sent.md)
- [View and edit NetApp Volumes](/cloud/platform-capabilities/core-concepts/data/netapp-volumes/view-and-edit-netapp-volumes.md)
