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

# Create a presigned upload for a workspace



## OpenAPI

````yaml https://api.revinel.com/v1/openapi.json post /workspaces/{workspaceId}/uploads
openapi: 3.1.1
info:
  title: Revinel API
  version: 1.0.0
  description: >-
    Public surface of the Revinel platform. Consumed by `@revinel/sdk` and
    `@revinel/react`.


    **Errors** are returned as an oRPC envelope: `{ defined: boolean, code:
    string, status: number, message: string, data?: object }`. Input-validation
    failures return HTTP **422** with `code: "INPUT_VALIDATION_FAILED"` and
    `data.fieldErrors` / `data.formErrors`.
servers:
  - url: https://api.revinel.com/v1
security: []
paths:
  /workspaces/{workspaceId}/uploads:
    post:
      tags:
        - Uploads (Beta)
      summary: Create a presigned upload for a workspace
      operationId: uploads.create
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                fileName:
                  type: string
                  minLength: 1
                  maxLength: 200
                contentType:
                  type: string
                  minLength: 1
                contentLength:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  exclusiveMinimum: 0
              required:
                - fileName
                - contentType
                - contentLength
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uploadUrl:
                    type: string
                    description: Presigned PUT URL to upload the file to.
                  headers:
                    type: object
                    properties:
                      Content-Type:
                        type: string
                    required:
                      - Content-Type
                    description: >-
                      Headers that must be sent verbatim on the PUT (they're
                      signed).
                  publicUrl:
                    type: string
                    description: Public URL the uploaded object will be served from.
                  key:
                    type: string
                    description: Object key of the uploaded file.
                required:
                  - uploadUrl
                  - headers
                  - publicUrl
                  - key
        '409':
          description: '409'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: CONFLICT_FIELD
                      status:
                        const: 409
                      message:
                        type: string
                        default: CONFLICT_FIELD
                      data:
                        type: object
                        properties:
                          formErrors:
                            type: array
                            items:
                              type: string
                          fieldErrors:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              type: array
                              items:
                                type: string
                        required:
                          - formErrors
                          - fieldErrors
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '422':
          description: '422'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: INPUT_VALIDATION_FAILED
                      status:
                        const: 422
                      message:
                        type: string
                        default: INPUT_VALIDATION_FAILED
                      data:
                        type: object
                        properties:
                          formErrors:
                            type: array
                            items:
                              type: string
                          fieldErrors:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              type: array
                              items:
                                type: string
                        required:
                          - formErrors
                          - fieldErrors
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message

````