# Generate presigned upload URL

Generate a presigned GCS URL for uploading an image or video file. Returns both the upload URL (for PUT) and the serve URL (for retrieval).

Endpoint: POST /rmg/api/v1/uploads/presign
Version: 1.0
Security: x-api-key

## Header parameters:

  - `Harness-Account` (string, required)
    Account Identifier

## Query parameters:

  - `orgIdentifier` (string)
    Organisation Identifier

  - `projectIdentifier` (string)
    Project Identifier

## Request fields (application/json):

  - `contentType` (string, required)
    MIME type of the file to upload (e.g., image/png, video/mp4)

  - `contentLength` (integer, required)
    Size of the file in bytes

  - `releaseId` (string, required)
    ID of the release this upload is associated with

## Response 200 fields (application/json):

  - `uploadUrl` (string, required)
    Presigned GCS URL for uploading the file via HTTP PUT

  - `serveUrl` (string, required)
    URL to serve/retrieve the uploaded file

## Response 400 fields (application/json):

  - `message` (string, required)
    error message detail

  - `code` (string)
    canonical error code name
    Enum: "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "INTERNAL_SERVER_ERROR"


