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

# Presign Entry Image



## OpenAPI

````yaml /openapi.json post /v1/workspaces/{workspaceId}/collections/{id}/entries/{entryId}/images/presign
openapi: 3.1.0
info:
  title: Specurate API
  description: ''
  version: 1.0.0
  contact: {}
servers:
  - url: https://app.specurate.com/api
    description: API Server
security: []
tags: []
paths:
  /v1/workspaces/{workspaceId}/collections/{id}/entries/{entryId}/images/presign:
    post:
      tags:
        - Collection Media
      summary: Presign Entry Image
      operationId: CollectionMediaController_presignEntryImage_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: entryId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresignCollectionEntryImageDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionEntryImagePresignResponseDto'
      security:
        - bearer: []
components:
  schemas:
    PresignCollectionEntryImageDto:
      type: object
      properties:
        originalFileName:
          type: string
          minLength: 1
          maxLength: 255
        contentType:
          type: string
          enum:
            - image/jpeg
            - image/png
            - image/webp
        fileSizeBytes:
          type: integer
          exclusiveMinimum: 0
          maximum: 5000000
        checksumSha256:
          type: string
          pattern: ^[a-fA-F0-9]{64}$
        entryVersion:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        collectionVersion:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
      required:
        - originalFileName
        - contentType
        - fileSizeBytes
        - checksumSha256
        - entryVersion
        - collectionVersion
      additionalProperties: false
    CollectionEntryImagePresignResponseDto:
      type: object
      properties:
        uploadSessionId:
          type: string
        postUrl:
          type: string
        postFields:
          type: object
          additionalProperties:
            type: string
        expiresAt:
          type: string
        collectionVersion:
          type: number
      required:
        - uploadSessionId
        - postUrl
        - postFields
        - expiresAt
        - collectionVersion
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````