Filen File API
The file API from Filen — 14 operation(s) for file.
The file API from Filen — 14 operation(s) for file.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/filen:filen-file-api"
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.
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: 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