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

# Create a computer file upload

> Authorizes access to a computer file target and returns a browser upload URL. Complete the upload to copy the object into the computer workspace.



## OpenAPI

````yaml https://api.factory.ai/api/v0/openapi.json post /api/v0/computers/{computerId}/files/{fileName}/create-upload
openapi: 3.0.1
info:
  title: Factory Public API
  description: >-
    Public API for Factory platform. Requires authentication via the
    `Authorization: Bearer` header.
  version: 0.1.0
servers:
  - url: https://api.factory.ai/
    description: Production
security:
  - BearerAuth: []
paths:
  /api/v0/computers/{computerId}/files/{fileName}/create-upload:
    post:
      tags:
        - Computers
      summary: Create a computer file upload
      description: >-
        Authorizes access to a computer file target and returns a browser upload
        URL. Complete the upload to copy the object into the computer workspace.
      operationId: createComputerFileUpload
      parameters:
        - name: computerId
          in: path
          required: true
          schema:
            type: string
            description: Computer ID
        - name: fileName
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 255
            pattern: ^(?=.*\S)(?!.*[\\/])(?!.*\.\.)(?!.*[\x00-\x1F\x7F]).+$
            description: Workspace file name
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateComputerFileUploadRequestBody'
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload200ResponseBody'
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload400ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload401ResponseBody'
        '403':
          description: Response for status 403
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload403ResponseBody'
        '404':
          description: Response for status 404
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload404ResponseBody'
        '424':
          description: Response for status 424
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload424ResponseBody'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload500ResponseBody'
        '503':
          description: Response for status 503
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComputerFileUpload503ResponseBody'
components:
  schemas:
    CreateComputerFileUploadRequestBody:
      type: object
      properties:
        sizeBytes:
          type: integer
          minimum: 0
          maximum: 2147483648
        contentType:
          type: string
          minLength: 1
          maxLength: 255
          pattern: >-
            ^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+(?: *;
            *[!#$%&'*+.^_`|~0-9A-Za-z-]+=(?:[!#$%&'*+.^_`|~0-9A-Za-z-]+|"[\x20-\x7E]*"))*$
      required:
        - sizeBytes
        - contentType
      additionalProperties: false
    CreateComputerFileUpload200ResponseBody:
      type: object
      properties:
        transferId:
          type: string
          format: uuid
        expiresAt:
          type: number
        uploadUrl:
          type: string
          minLength: 1
        uploadFormFields:
          type: object
          additionalProperties:
            type: string
            minLength: 1
      required:
        - transferId
        - expiresAt
        - uploadUrl
        - uploadFormFields
      additionalProperties: false
    CreateComputerFileUpload400ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload401ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload403ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload404ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload424ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload500ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
    CreateComputerFileUpload503ResponseBody:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error message
        status:
          type: number
          description: HTTP status code
        title:
          type: string
          description: HTTP status title
        metadata:
          type: object
          additionalProperties: {}
          description: Additional error metadata
      required:
        - detail
        - status
        - title
      additionalProperties: false
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Factory API key or JWT token for authentication

````