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.
openapi: 3.2.0
info:
title: Filen (internal) 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: (internal)
paths:
/user/affiliate/payout:
post:
tags:
- (internal)
summary: Request an affiliate payout (internal)
requestBody:
content:
application/json:
schema:
type: object
properties:
method:
type: string
address:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/response'
operationId: postUserAffiliatePayout
x-operation-id-source: derived
/user/sub/create:
post:
tags:
- (internal)
summary: Create a subscription checkout URL (internal)
requestBody:
content:
application/json:
schema:
type: object
properties:
method:
type: string
description: paypal | stripe | crypto
planId:
type: number
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/response'
- type: object
properties:
data:
type: object
properties:
url:
type: string
operationId: postUserSubCreate
x-operation-id-source: derived
/user/avatar:
post:
tags:
- (internal)
summary: Upload an avatar (internal)
requestBody:
description: Body JSON
content:
application/json:
schema:
type: object
properties:
avatar:
type: string
example: base64 string
hash:
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:
avatarURL:
type: string
example: string
xml:
name: main
x-codegen-request-body-name: body
operationId: postUserAvatar
x-operation-id-source: derived
components:
schemas:
response:
type: object
properties:
status:
type: boolean
message:
type: string
code:
type: string
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