# Create Presigned Upload Url **POST /uploads/presign** Get a presigned URL for direct upload to S3. The client should: 1. Call this endpoint to get a presigned URL 2. PUT the file directly to the uploadUrl 3. Use the resourceId in subsequent API calls ## Servers - http://api.example.com: http://api.example.com () ## Parameters ### Body: application/json (object) - **contentType** (string) MIME type of the file to upload (image/jpeg or image/png) - **purpose** (string) Purpose of upload - determines TTL and validation. ## Responses ### 200 Successful Response #### Body: application/json (object) - **resourceId** (string) Unique identifier for the uploaded resource - **uploadUrl** (string) URL to POST the form data to - **fields** (object) Form fields to include in POST request - **maxSize** (integer) Maximum file size in bytes - **expiresAt** (string(date-time)) When the presigned URL expires ### 422 Validation Error #### Body: application/json (object) - **detail** (array[object]) [Powered by Bump.sh](https://bump.sh)