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

# Create upload target

> Create a presigned upload URL for a source asset and return the slug to use during job creation.

<Note>Presigned single-request uploads are limited to files smaller than 5 GiB.</Note>


## OpenAPI

````yaml https://www.renderjuice.com/docs/reference/renderjuice-api-sample.json post /uploads
openapi: 3.0.0
info:
  title: Renderjuice External API
  version: 0.0.1
  description: External API surface generated from the /api/external/v1 manifest.
servers:
  - url: https://api.renderjuice.com/api/external/v1
security:
  - ApiKeyAuth: []
paths:
  /uploads:
    post:
      tags:
        - Uploads
      summary: Create upload target
      description: >-
        Create a presigned upload URL for a source asset and return the slug to
        use during job creation.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalUploadRequestBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalUploadResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ExternalUploadRequestBody:
      type: object
      properties:
        fileName:
          type: string
          minLength: 1
          description: Source asset file name.
        fileType:
          $ref: '#/components/schemas/ExternalUploadFileType'
      required:
        - fileName
        - fileType
    ExternalUploadResponse:
      type: object
      properties:
        uploadUrl:
          type: string
          minLength: 1
          description: Opaque presigned upload URL for a single PUT upload.
        slug:
          type: string
          minLength: 1
          description: Stable handle to pass to job creation later.
        expiresAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the upload URL expires.
      required:
        - uploadUrl
        - slug
        - expiresAt
    ExternalUploadFileType:
      type: string
      enum:
        - blend
        - zip
      description: Supported upload type. Must match the file extension.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: RJ-XXX...
      description: >-
        API key authentication. Format: `Bearer RJ-XXX...`. Get your API key
        from the Renderjuice dashboard.

````