Filen File API

The file API from Filen — 14 operation(s) for file.

Operations 14

POST /file Create file #
POST /file/link/status Create file link status #
POST /file/version/restore Create file version restore #
POST /file/link/edit Create file link edit #
POST /file/restore Create file restore #
POST /file/present Create file present #
POST /file/exists Create file exists #
POST /file/move Create file move #
POST /file/rename Create file rename #
POST /file/versions Create file versions #
POST /file/delete/permanent Create file delete permanent #
POST /file/trash Create file trash #
POST /file/link/password Create file link password #
POST /file/link/info Create file link info #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/filen:filen-file-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

filen-file-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Filen File API
  description: 'The Filen API is used by Filen clients for uploading and downloading files, managing files and directories, sharing items, accessing notes and contacts, having chat conversations, managing user-specific settings, and more.


    ### API hosts

    The Filen API is located at `gateway.filen.io`.

    For file transfers, there''s `ingest.filen.io` and `egest.filen.io`. `ingest.filen.io` is used for uploads while `egest.filen.io` is used for downloads.


    ### API responses

    All API responses follow the scheme (TypeScript type definition):

    ```ts

    {

    status: boolean, // indicates whether the request was successful

    message: string, // additional information

    code: string, // a status code

    data: any? // optionally, response data

    }

    ```


    ### Internal endpoints

    There are a number of internal endpoints whose specifics are not documented here.

    If you need them, you can infer their definitions and usage from the TypeScript SDK''s API wrapper.'
  version: v3
servers:
- url: https://gateway.filen.io/v3
tags:
- name: File
paths:
  /file:
    post:
      tags:
      - File
      description: Retrieve file info
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      uuid:
                        type: string
                        example: uuidv4
                      region:
                        type: string
                        example: string
                      bucket:
                        type: string
                        example: string
                      nameEncrypted:
                        type: string
                        example: string
                      nameHashed:
                        type: string
                        example: string
                      sizeEncrypted:
                        type: string
                        example: string
                      mimeEncrypted:
                        type: string
                        example: string
                      metadata:
                        type: string
                        example: string
                      size:
                        type: string
                        example: number
                      parent:
                        type: string
                        example: uuidv4
                      versioned:
                        type: string
                        example: boolean
                      trash:
                        type: string
                        example: boolean
                      version:
                        type: string
                        example: number
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file
      x-summary-source: derived
      operationId: postFile
      x-operation-id-source: derived
  /file/link/status:
    post:
      tags:
      - File
      description: Retrieve file public link status
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      uuid:
                        type: string
                        example: uuidv4
                      enabled:
                        type: string
                        example: boolean
                      expiration:
                        type: string
                        example: number
                      expirationText:
                        type: string
                        example: string
                      downloadBtn:
                        type: string
                        example: boolean
                      password:
                        type: string
                        example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file link status
      x-summary-source: derived
      operationId: postFileLinkStatus
      x-operation-id-source: derived
  /file/version/restore:
    post:
      tags:
      - File
      description: Restore a file version
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
                current:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    example: uuidv4
                  currentUUID:
                    type: string
                    example: uuidv4
                  metadata:
                    type: string
                    example: string
                  bucket:
                    type: string
                    example: string
                  region:
                    type: string
                    example: string
                  chunks:
                    type: string
                    example: number
                  parent:
                    type: string
                    example: string
                  rm:
                    type: string
                    example: string
                  timestamp:
                    type: string
                    example: number
                  version:
                    type: string
                    example: number
                  favorited:
                    type: string
                    example: 0 | 1
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file version restore
      x-summary-source: derived
      operationId: postFileVersionRestore
      x-operation-id-source: derived
  /file/link/edit:
    post:
      tags:
      - File
      description: Edit a file's public link
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
                fileUUID:
                  type: string
                  example: uuidv4
                expiration:
                  type: string
                  example: string
                password:
                  type: string
                  example: string
                passwordHashed:
                  type: string
                  example: string
                downloadBtn:
                  type: string
                  example: boolean
                salt:
                  type: string
                  example: string
                type:
                  type: string
                  example: enable | disable
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file link edit
      x-summary-source: derived
      operationId: postFileLinkEdit
      x-operation-id-source: derived
  /file/restore:
    post:
      tags:
      - File
      description: Restore a file from the trash
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file restore
      x-summary-source: derived
      operationId: postFileRestore
      x-operation-id-source: derived
  /file/present:
    post:
      tags:
      - File
      description: Check if a file exists
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      present:
                        type: string
                        example: boolean
                      versioned:
                        type: string
                        example: boolean | undefined
                      trash:
                        type: string
                        example: boolean | undefined
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file present
      x-summary-source: derived
      operationId: postFilePresent
      x-operation-id-source: derived
  /file/exists:
    post:
      tags:
      - File
      description: Check if a file exists inside a parent with a given name
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                parent:
                  type: string
                  example: uuidv4
                nameHashed:
                  type: string
                  example: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      exists:
                        type: string
                        example: boolean
                      uuid:
                        type: string
                        example: string?
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file exists
      x-summary-source: derived
      operationId: postFileExists
      x-operation-id-source: derived
  /file/move:
    post:
      tags:
      - File
      description: Move a file
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
                to:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file move
      x-summary-source: derived
      operationId: postFileMove
      x-operation-id-source: derived
  /file/rename:
    post:
      tags:
      - File
      description: Rename a file
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
                name:
                  type: string
                  example: string
                metadata:
                  type: string
                  example: string
                nameHashed:
                  type: string
                  example: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file rename
      x-summary-source: derived
      operationId: postFileRename
      x-operation-id-source: derived
  /file/versions:
    post:
      tags:
      - File
      description: Retrieve all versions of a file
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      versions:
                        type: string
                        example: '{ uuid: uuid, metadata: string, bucket: string, region: string, chunks: number, rm: string, timestamp: number, version: number }[]'
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file versions
      x-summary-source: derived
      operationId: postFileVersions
      x-operation-id-source: derived
  /file/delete/permanent:
    post:
      tags:
      - File
      description: Delete a file permanently
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file delete permanent
      x-summary-source: derived
      operationId: postFileDeletePermanent
      x-operation-id-source: derived
  /file/trash:
    post:
      tags:
      - File
      description: Move a file to the trash
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file trash
      x-summary-source: derived
      operationId: postFileTrash
      x-operation-id-source: derived
  /file/link/password:
    post:
      tags:
      - File
      description: Check if a file public link is password protected
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      hasPassword:
                        type: string
                        example: boolean
                      salt:
                        type: string
                        example: string
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file link password
      x-summary-source: derived
      operationId: postFileLinkPassword
      x-operation-id-source: derived
  /file/link/info:
    post:
      tags:
      - File
      description: Get public link info of a file
      requestBody:
        description: Body JSON
        content:
          application/json:
            schema:
              type: object
              properties:
                uuid:
                  type: string
                  example: uuidv4
                password:
                  type: string
                  example: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: boolean
                  message:
                    type: string
                    example: string
                  code:
                    type: string
                    example: string
                  data:
                    type: object
                    properties:
                      bucket:
                        type: string
                        example: string
                      uuid:
                        type: string
                        example: string
                      region:
                        type: string
                        example: string
                      name:
                        type: string
                        example: string
                      size:
                        type: string
                        example: string
                      mime:
                        type: string
                        example: string
                      chunks:
                        type: string
                        example: number
                      password:
                        type: string
                        example: string
                      downloadBtn:
                        type: string
                        example: boolean
                      timestamp:
                        type: string
                        example: number
                      version:
                        type: string
                        example: number
                xml:
                  name: main
      x-codegen-request-body-name: body
      summary: Create file link info
      x-summary-source: derived
      operationId: postFileLinkInfo
      x-operation-id-source: derived
components:
  securitySchemes:
    api_key:
      type: apiKey
      name: API Key
      in: header
externalDocs:
  description: Get general information about usage of the Filen API at docs.filen.io
  url: https://docs.filen.io/docs/api