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

# Get resumable upload session status



## OpenAPI

````yaml /openapi.yaml get /v1/machines/{id}/uploads/{upload_id}
openapi: 3.1.0
info:
  title: Nullspace API
  version: 0.1.0
  description: |
    Cloud machine platform for AI agents. Create on-demand microVMs,
    execute commands, manage files, automate desktop environments,
    and stream output over WebSocket.
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api.13-215-85-171.sslip.io
    description: Private beta
  - url: https://nullspace.example
    description: Self-hosted single-host owned-domain
  - url: http://localhost
    description: Self-hosted single-host localhost/no-domain via Caddy
  - url: http://localhost:3000
    description: Local development direct API
security:
  - bearerAuth: []
tags:
  - name: Health
    description: Public process-liveness check (no auth required)
  - name: Machines
    description: Machine lifecycle, execution, and process management
  - name: Files
    description: Filesystem operations within a machine
  - name: Git
    description: First-class structured git operations within a machine
  - name: Desktop
    description: Desktop automation (mouse, keyboard, screenshots)
  - name: Recording
    description: Screen recording management
  - name: PTY
    description: Pseudo-terminal session management
  - name: Templates
    description: Machine template management
  - name: Agent Deployments
    description: Named, versioned agent deployment control plane
  - name: Volumes
    description: Persistent volume control plane and attached volume actions
  - name: WebSocket
    description: Streaming execution and PTY over WebSocket
  - name: Monitor
    description: In-repo WebSocket stream for machine health, metrics, and process updates
  - name: API Keys
    description: Runtime API key metadata and dormant self-serve key management
  - name: Account
    description: Dormant Supabase-session account profile, export, and deletion routes
  - name: Admin
    description: Supabase-session operator console APIs for account support
  - name: Auth
    description: Dormant self-serve Auth proxy routes gated by deployment config
  - name: Code
    description: Stateful code execution via Jupyter kernels (Code Interpreter)
  - name: Internal Operations
    description: Operator-only internal API surfaces; not part of the public SDK contract
paths:
  /v1/machines/{id}/uploads/{upload_id}:
    parameters:
      - $ref: '#/components/parameters/MachineId'
      - name: upload_id
        in: path
        required: true
        schema:
          type: string
        description: Upload session identifier.
    get:
      tags:
        - Files
      summary: Get resumable upload session status
      operationId: getUploadSession
      responses:
        '200':
          description: Upload session status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadSessionInfo'
components:
  parameters:
    MachineId:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: Machine ID (e.g. mch_a1b2c3d4)
  schemas:
    UploadSessionInfo:
      type: object
      required:
        - upload_id
        - kind
        - source_kind
        - target_path
        - content_length
        - accepted_bytes
        - reserved_staging_bytes
        - part_size
        - part_count
        - max_concurrency
        - status
        - conflict
        - checksum_algorithm
        - limits
        - created_at
        - updated_at
        - expires_at
      properties:
        upload_id:
          type: string
        kind:
          $ref: '#/components/schemas/UploadKind'
        source_kind:
          $ref: '#/components/schemas/UploadSourceKind'
        target_path:
          type: string
          description: >-
            Normalized absolute machine destination path for this upload
            session.
        user:
          type: string
          description: Optional machine user associated with the upload request.
        content_length:
          type: integer
          format: uint64
        accepted_bytes:
          type: integer
          format: uint64
        reserved_staging_bytes:
          type: integer
          format: uint64
        part_size:
          type: integer
          format: uint64
        part_count:
          type: integer
          format: uint32
        max_concurrency:
          type: integer
          format: uint32
        status:
          $ref: '#/components/schemas/UploadSessionStatus'
        next_part:
          type: integer
          format: uint32
        archive_format:
          $ref: '#/components/schemas/UploadArchiveFormat'
        conflict:
          $ref: '#/components/schemas/UploadConflictPolicy'
        checksum_algorithm:
          $ref: '#/components/schemas/UploadChecksumAlgorithm'
        whole_checksum_sha256:
          type: string
        limits:
          $ref: '#/components/schemas/UploadLimits'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
    UploadKind:
      type: string
      enum:
        - file
        - directory_tar
    UploadSourceKind:
      type: string
      enum:
        - restartable_file
        - spooled_stream
        - directory_archive
    UploadSessionStatus:
      type: string
      enum:
        - created
        - uploading
        - staged
        - completing
        - completed
        - aborted
        - expired
        - failed
    UploadArchiveFormat:
      type: string
      enum:
        - tar
    UploadConflictPolicy:
      type: string
      enum:
        - merge
        - replace
        - error
    UploadChecksumAlgorithm:
      type: string
      enum:
        - sha256
    UploadLimits:
      type: object
      required:
        - max_upload_bytes
        - max_part_bytes
        - max_concurrency
        - machine_staging_quota_bytes
      properties:
        max_upload_bytes:
          type: integer
          format: uint64
        max_part_bytes:
          type: integer
          format: uint64
        max_concurrency:
          type: integer
          format: uint32
        machine_staging_quota_bytes:
          type: integer
          format: uint64
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Bearer token

````