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

# Put an object in one request.

> Put an object in one request. The request enforces Storage access, workspace ownership, and entry lifecycle state.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/storage/objects
openapi: 3.0.0
info:
  title: RevoEngine Platform API
  description: Official RevoEngine Platform API documentation.
  version: 1.3.0
  contact:
    name: Support
    email: support@revoengine.com
  termsOfService: https://docs.revoengine.com/tos
servers:
  - url: https://api.revoengine.com
    description: Production
security: []
tags:
  - name: Accounts
    description: Users, service accounts, API keys, status, and platform access.
    externalDocs:
      description: Identity and access guide
      url: https://docs.revoengine.com/operate/identity-and-access
  - name: Activity
    description: Snapshot-backed activity and version history.
    externalDocs:
      description: Observability guide
      url: https://docs.revoengine.com/operate/observability
  - name: Agent Memory
    description: Administrative access to durable Agent memory.
    externalDocs:
      description: Agent memory and workspaces guide
      url: https://docs.revoengine.com/ai/memory-and-workspaces
  - name: Agent Plugins
    description: Agent plugin definitions, synchronization, testing, and lifecycle.
    externalDocs:
      description: Agent plugins guide
      url: https://docs.revoengine.com/ai/plugins
  - name: Agents
    description: >-
      Agent definitions, runs, sessions, inboxes, memory, tools, workspaces, and
      lifecycle.
    externalDocs:
      description: Autonomous Agents guide
      url: https://docs.revoengine.com/ai/agents
  - name: Assistant
    description: >-
      Assistant threads, messages, responses, goals, reports, sharing,
      attachments, and control.
    externalDocs:
      description: Assistant guide
      url: https://docs.revoengine.com/ai/assistant
  - name: Automation
    description: >-
      Jobs, templates, schedules, events, webhooks, execution history, and
      lifecycle.
    externalDocs:
      description: Automation guide
      url: https://docs.revoengine.com/operate/automation
  - name: Chat
    description: Collaborative chat threads, messages, reactions, uploads, and attachments.
    externalDocs:
      description: Team Chat guide
      url: https://docs.revoengine.com/operate/chat
  - name: Component deployments
    description: >-
      Custom Node.js runtime deployment attempts, readiness, activation, and
      rollback.
    externalDocs:
      description: Custom Node.js guide
      url: https://docs.revoengine.com/build/custom-nodejs
  - name: Components
    description: Components, elements, versions, validation, activation, and lifecycle.
    externalDocs:
      description: Components guide
      url: https://docs.revoengine.com/build/components
  - name: Config
    description: Instance configuration, usage, logs, and cache administration.
    externalDocs:
      description: Instance settings guide
      url: https://docs.revoengine.com/platform/instance-settings
  - name: Database Cache
    description: Instance Database cache values and statistics.
    externalDocs:
      description: Database Cache guide
      url: https://docs.revoengine.com/operate/database-cache
  - name: Database Views
    description: Database Views, previews, refreshes, exports, and controlled data actions.
    externalDocs:
      description: Database Views guide
      url: https://docs.revoengine.com/operate/database-views
  - name: Databases
    description: Database definitions, data, audits, exports, cloning, and lifecycle.
    externalDocs:
      description: Databases guide
      url: https://docs.revoengine.com/operate/databases
  - name: Endpoints
    description: >-
      Endpoint definitions, activation, validation, generated OpenAPI, and
      statistics.
    externalDocs:
      description: Endpoints guide
      url: https://docs.revoengine.com/operate/endpoints
  - name: Files
    description: Compatibility file listing, preview, download, and deletion operations.
    externalDocs:
      description: Files compatibility guide
      url: https://docs.revoengine.com/operate/files
  - name: Groups
    description: Groups, membership, avatars, and lifecycle.
    externalDocs:
      description: Groups guide
      url: https://docs.revoengine.com/operate/groups
  - name: Me
    description: Current user profile, keys, avatar, and session information.
    externalDocs:
      description: Authentication guide
      url: https://docs.revoengine.com/developers/authentication
  - name: Preferences
    description: User and instance preference values.
    externalDocs:
      description: Platform UI guide
      url: https://docs.revoengine.com/platform/ui-tour
  - name: Role Groups
    description: Role groups, members, assigned roles, and lifecycle.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Roles
    description: Available platform roles and role details.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Search
    description: Cross-domain search over objects visible to the caller.
    externalDocs:
      description: Search and discovery guide
      url: https://docs.revoengine.com/platform/search
  - name: Secrets
    description: >-
      Secret definitions, revisions, activation, reveal, disable, and
      destruction.
    externalDocs:
      description: Secrets guide
      url: https://docs.revoengine.com/operate/secrets
  - name: Storage
    description: >-
      Storage workspaces, folders, objects, upload sessions, signed access, and
      lifecycle.
    externalDocs:
      description: Storage guide
      url: https://docs.revoengine.com/operate/storage
externalDocs:
  description: Documentation
  url: https://docs.revoengine.com
paths:
  /api/v1/storage/objects:
    post:
      tags:
        - Storage
      summary: Put an object in one request.
      description: >-
        Put an object in one request. The request enforces Storage access,
        workspace ownership, and entry lifecycle state.
      operationId: StorageController_putObject
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutStorageObjectDto'
      responses:
        '200':
          description: OK.
      security:
        - bearer: []
components:
  schemas:
    PutStorageObjectDto:
      type: object
      properties:
        retention:
          description: >-
            File retention. Omit for the caller default, or set null for no
            expiration.
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/StorageRetentionDto'
        parentStorageEntryId:
          type: string
          description: Parent folder id. Omit for root.
          example: 00000000-0000-4000-8000-000000000000
        storageProviderConfigId:
          type: string
          description: Optional provider config id for root-level writes.
          example: 00000000-0000-4000-8000-000000000001
        replaceStorageEntryId:
          type: string
          description: Existing file entry id to replace.
          example: 00000000-0000-4000-8000-000000000002
        name:
          type: string
          description: Object name.
          example: logo.png
        data:
          description: >-
            Object payload. For binary payloads send a base64 string and set
            dataEncoding to "base64".
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: iVBORw0KGgoAAAANSUhEUgAAAAUA
        dataEncoding:
          type: string
          description: Payload encoding.
          enum:
            - utf8
            - base64
          example: base64
        mimeType:
          type: string
          description: Mime type of the object.
          example: image/png
        computeStats:
          type: string
          description: Optional post-write compute mode.
          enum:
            - none
            - sync
            - async
          example: none
        restricted:
          type: boolean
          description: Whether the finalized entry should be restricted.
        groups:
          description: Explicit allowed group ids.
          type: array
          items:
            type: string
        users:
          description: Explicit allowed user ids.
          type: array
          items:
            type: string
        refId:
          type: string
          description: Optional external reference id.
        refType:
          type: string
          description: Optional external reference type.
        refVer:
          type: number
          description: Optional external reference version.
        metadata:
          type: object
          description: >-
            Entry metadata. Values may use any JSON type. Maximum 16 KiB and 64
            top-level keys. Top-level keys starting with "__" are reserved for
            backend use.
          example:
            scope: integration
            source: put-object
        tier:
          type: string
          description: >-
            Logical storage lifecycle tier. Select only when creating a new file
            or upload session; existing files keep their tier.

            HOT: Active files used in live workflows, previews, and frequent
            downloads.

            WARM: Completed or less-active business files that are still
            occasionally accessed.

            COLD: Compliance snapshots, historic imports, and retained evidence
            that is rarely opened.

            FROZEN: Deep archive or legal-hold data kept mainly for audit or
            recovery obligations.
          enum:
            - HOT
            - WARM
            - COLD
            - FROZEN
          example: HOT
      required:
        - name
        - data
    StorageRetentionDto:
      type: object
      properties:
        ttlSeconds:
          type: number
          description: >-
            Positive lifetime in seconds. The lifetime starts when the file is
            finalized.
          minimum: 1
        expiresAt:
          type: string
          description: Absolute future expiration timestamp in ISO 8601 format.
          example: '2026-08-01T12:00:00.000Z'
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      description: Bearer JWT token or API Key (sk-*).
      type: http

````