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

# Get upload status

> Returns the state of an upload. Poll it after completing a multipart upload, until `status` is `COMPLETED` or `FAILED`.



## OpenAPI

````yaml get /platform/files/uploads/{uploadId}
openapi: 3.0.3
info:
  title: ROOTKey Documentation
  description: >-
    Your API of choice for creating, managing, and validating information easily
    and securely!
  termsOfService: https://www.rootkey.ai/legal/privacy-policy
  contact:
    name: ROOTKey
    url: https://www.rootkey.ai/contact
    email: support@rootkey.ai
  version: 1.0.0
servers:
  - description: Production
    url: https://api.rootkey.ai/api-v1/
security:
  - x-api-key: []
tags:
  - name: api-v1-public
    description: Unauthenticated top-level /api-v1 endpoints (health, plans, annual report)
  - name: api-v1-files
    description: >-
      File anchoring, versioning, validation and compliance reporting
      (/api-v1/platform/files)
  - name: api-v1-records
    description: Structured-data record anchoring (/api-v1/platform/records)
  - name: api-v1-vaults
    description: 'Vault lifecycle: create / update / delete (/api-v1/platform/vaults)'
  - name: api-v1-recovery-points
    description: >-
      Backup archives created from vault contents
      (/api-v1/platform/recovery-point)
paths:
  /platform/files/uploads/{uploadId}:
    get:
      tags:
        - api-v1-files
      summary: Get upload status
      description: >-
        Returns the state of an upload. Poll it after completing a multipart
        upload, until `status` is `COMPLETED` or `FAILED`.
      parameters:
        - name: uploadId
          in: path
          required: true
          description: >-
            The `uploadId` returned by [Start an
            upload](/api-reference/platform/endpoint/files/start-file-upload).
          schema:
            type: string
            pattern: ^upl_[0-9a-f]{32}$
            example: upl_3f2b8c1e5a7d4e9b9c2a1d6e8f0a4b7c
      responses:
        '200':
          description: The upload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadStatus'
        '401':
          description: Unauthenticated
        '404':
          description: >-
            `file_upload_not_found`: no such upload in your organization. An
            upload of another organization gets the same answer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainErrorResponse'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - x-api-key: []
components:
  schemas:
    FileUploadStatus:
      type: object
      properties:
        uploadId:
          type: string
        fileId:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - VERIFYING
            - FINALIZING
            - COMPLETED
            - FAILED
            - EXPIRED
            - ABORTED
          description: >-
            `PENDING`: waiting for the bytes or for you to complete it.
            `VERIFYING`: a multipart upload being checked. `FINALIZING`: being
            anchored. `COMPLETED`: the file exists. `FAILED`: see `failureCode`.
            `EXPIRED`, `ABORTED`: ended without a file.
        mode:
          type: string
          enum:
            - single
            - multipart
        size:
          type: integer
          description: The declared size in bytes.
        expiresAt:
          type: string
          format: date-time
        chainId:
          type: integer
          description: Once `COMPLETED`.
        transactionHash:
          type: string
          description: Once `COMPLETED`.
        failureCode:
          type: string
          description: >-
            When `FAILED`: the `errorCode` that explains why, such as
            `file_upload_checksum_mismatch`.
    DomainErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            requestId:
              type: string
            message:
              type: string
            errorCode:
              type: string
            docUrl:
              type: string
            timestamp:
              type: string
              format: date-time
  responses:
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DomainErrorResponse'
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        ROOTKey API key (rk_live_... for production, rk_test_... for the test
        network).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.