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

# Upload a personal file

> Uploads a file to your personal storage: up to 25 MB.



## OpenAPI

````yaml en/openapi/en-api-v3-openapi.yaml POST /user-assets
openapi: 3.1.0
info:
  title: ER:LC Russia API V3
  description: >-
    ER:LC Russia API for servers, users, CDN, redirects, subscriptions, and
    access keys.
  version: 3.0.0
servers:
  - url: https://api.erlcrussia.com/v3
    description: Production server (com)
  - url: https://api.erlcrussia.xyz/v3
    description: Backup server (xyz)
security: []
tags:
  - name: ER:LC Server
    description: Obtaining status, online, lists of players and staff of the ER:LC server.
  - name: ER:LC Teams
    description: Sending and queuing in-game server commands (:h, :m, :kick, :ban, etc.).
  - name: Economics
    description: >-
      Interaction with the economic system (users, businesses, mafias, stores,
      advertising).
  - name: Statistics API
    description: >-
      High-performance obtaining statistics of discord servers and game servers
      (online, participants, bots).
  - name: Verification API
    description: Search and comparison of Discord ID and Roblox ID accounts.
  - name: CDN Assets
    description: >-
      Load, manage, statistic and clear MinIO/Edge CDN object storage file
      cache.
  - name: CDN Folders
    description: Hierarchical structure and sorting of CDN media library folders.
  - name: Punishment API
    description: Manage the balance and transaction history of players' points.
  - name: Subscriptions API
    description: >-
      Catalog of plans, FunPay orders, accrual of benefits and activation of
      subscriptions.
  - name: Authorization API
    description: >-
      Login via Discord and Roblox OAuth2, manage user sessions and link
      accounts.
  - name: Management API - WebSocket Keys
    description: Managing access keys to the WebSocket gateway and channel subscriptions.
  - name: Management API - Webhooks
    description: Registration, accessibility validation and monitoring of custom webhooks.
  - name: Control API - Panel
    description: >-
      Management of users, subscriptions, tariffs, manual balance and system
      statistics.
  - name: State API
    description: >-
      Monitoring the performance of the service, connections to PostgreSQL and
      Redis.
  - name: AI Audio
  - name: AI Studio
  - name: AI administration
  - name: API Keys
  - name: Admin API - Servers
  - name: Administration of E-Coins
  - name: CDN
  - name: CDN Domains
  - name: CDN V3
  - name: Custom Webhooks
  - name: Management API - Servers
  - name: Management API - Tokens
  - name: Organization redirects V3
  - name: Private files and library
  - name: Рекламные кампании V3
paths:
  /user-assets:
    post:
      tags:
        - Private files and library
      summary: Upload a personal file
      description: 'Uploads a file to your personal storage: up to 25 MB.'
      parameters:
        - name: name
          in: query
          required: false
          schema:
            type: string
        - name: kind
          in: query
          schema:
            type: string
            enum:
              - upload
              - recording
              - speech
            default: upload
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: >-
            An active owner session is required. Responses are not publicly
            cached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAsset'
              example:
                id: 0123456789abcdef0123456789abcdef
                domain: userassets.erlcrussia.com
                path: >-
                  _private/users/123456789012345678/upload/0123456789abcdef0123456789abcdef/original
                name: example.png
                mimeType: image/png
                size: 68
                kind: upload
                status: ready
                createdAt: '2026-10-15T19:00:00Z'
                expiresAt: null
                url: >-
                  https://userassets.erlcrussia.com/_private/users/123456789012345678/upload/0123456789abcdef0123456789abcdef/original
        '401':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
        '404':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
        '413':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
        '415':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
        '429':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
        '503':
          description: >-
            401: no active session; 404: another owner, deleted or expired; 413:
            size or quota; 415: invalid audio; 429: rate limited; 503:
            unverified domain or unavailable dependency.
      security:
        - CookieAuth: []
        - BearerAuth: []
components:
  schemas:
    UserAsset:
      type: object
      required:
        - id
        - domain
        - path
        - name
        - mimeType
        - kind
        - status
        - url
        - size
        - createdAt
        - expiresAt
      properties:
        id:
          type: string
        domain:
          type: string
        path:
          type: string
        name:
          type: string
        mimeType:
          type: string
        kind:
          type: string
        status:
          type: string
        url:
          type: string
        size:
          type: integer
          minimum: 0
        createdAt:
          type: string
          format: date-time
        expiresAt:
          type:
            - string
            - 'null'
          format: date-time
  securitySchemes:
    CookieAuth:
      type: apiKey
      in: cookie
      name: erlc_auth
      description: Session HTTP-Only authorization cookie on the portal.
    BearerAuth:
      type: http
      scheme: bearer
      description: API key in the Authorization header in the format `Bearer <token>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.