Download OpenAPI specification:Download
FileMage Gateway provides a simple API to configure storage endpoints, users, and keys. Please note that all urls must end in a trailing slash, and the Content-Type header must be set to application/json.
After registering an administrator account, go to the settings page to create a API key. Include this token in all calls to the API.
Example:
curl http://sftp.example.com/users/ -H "filemage-api-token: 43fb7437e3f231e481b262ca6d4de0c0"
Security Scheme Type | API Key |
---|---|
Header parameter name: | filemage-api-token |
Create a new endpoint using provided settings.
Endpoint configuration. Check cloud provider specific schemas for config parameters.
id | integer ID of endpoint. |
name | string Name of endpoint. |
object Settings specific to the Azure Blob Storage endpoint types. |
{- "id": 0,
- "name": "string",
- "config": {
- "accountKey": "string",
- "accountName": "string",
- "containerName": "string",
- "isHNS": true,
- "useMSI": true,
- "userAssignedId": "string",
- "type": "azure"
}
}
{- "id": 0
}
Return detailed endpoint settings of specified endpoint.
id required | integer ID of endpoint to return |
{- "id": 0,
- "name": "string",
- "config": {
- "accountKey": "string",
- "accountName": "string",
- "containerName": "string",
- "isHNS": true,
- "useMSI": true,
- "userAssignedId": "string",
- "type": "azure"
}
}
Update settings of existing endpoint.
id required | integer ID of endpoint to update |
Endpoint configuration. Check cloud provider specific schemas for config parameters.
id | integer ID of endpoint. |
name | string Name of endpoint. |
object Settings specific to the Azure Blob Storage endpoint types. |
{- "id": 0,
- "name": "string",
- "config": {
- "accountKey": "string",
- "accountName": "string",
- "containerName": "string",
- "isHNS": true,
- "useMSI": true,
- "userAssignedId": "string",
- "type": "azure"
}
}
{- "message": "string",
- "fields": [
- "string"
]
}
[- {
- "id": 0,
- "username": "string",
- "endpointName": "string"
}
]
User settings
username | string Username. |
password | string Password. |
endpointId | integer ID of endpoint to associate with user. |
string The email address used for password reset and welcome emails. | |
disabled | boolean Password authentication disabled. |
object Specify path, and permission level of user home directory | |
Array of objects (Permission) Additional folder permissions assigned to the user. | |
whitelist | Array of strings IP addresses which are allowed to connect as this user. |
mfaRequired | boolean Require multi-factor authentication to be set up before allowing user to log in. |
ldap | boolean Indicates that this user should be authneticated using LDAP. |
expires | string A timestamp in ISO 8601 format indicating when the users account should no longer be accessible. |
ftpDisabled | boolean Disable FTP protocol for this user. |
{- "username": "string",
- "password": "string",
- "endpointId": 0,
- "email": "string",
- "disabled": true,
- "home": {
- "path": "string",
- "sub": true,
- "grants": "string"
}, - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
], - "whitelist": [
- "string"
], - "mfaRequired": true,
- "ldap": true,
- "expires": "string",
- "ftpDisabled": true
}
{- "id": 0
}
Return detailed user settings including SSH keys.
id required | integer ID of user to return |
{- "id": 0,
- "username": "string",
- "endpointId": 0,
- "disabled": true,
- "home": {
- "path": "string",
- "sub": true,
- "grants": "string"
}, - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
], - "keys": [
- {
- "id": 0,
- "fingerprint": "string",
- "keyData": "string",
- "title": "string",
- "createdAt": "string"
}
], - "whitelist": [
- "string"
], - "mfaRequired": true,
- "ldap": true,
- "expires": "string",
- "otpEnabled": true
}
Update user settings not including keys. See Keys
section for calls related to adding or removing keys.
id required | integer ID of user to update |
User configuration
username | string Username. |
password | string Password. |
endpointId | integer ID of endpoint to associate with user. |
string The email address used for password reset and welcome emails. | |
disabled | boolean Password authentication disabled. |
object Specify path, and permission level of user home directory | |
Array of objects (Permission) Additional folder permissions assigned to the user. | |
whitelist | Array of strings IP addresses which are allowed to connect as this user. |
mfaRequired | boolean Require multi-factor authentication to be set up before allowing user to log in. |
ldap | boolean Indicates that this user should be authneticated using LDAP. |
expires | string A timestamp in ISO 8601 format indicating when the users account should no longer be accessible. |
ftpDisabled | boolean Disable FTP protocol for this user. |
{- "username": "string",
- "password": "string",
- "endpointId": 0,
- "email": "string",
- "disabled": true,
- "home": {
- "path": "string",
- "sub": true,
- "grants": "string"
}, - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
], - "whitelist": [
- "string"
], - "mfaRequired": true,
- "ldap": true,
- "expires": "string",
- "ftpDisabled": true
}
{- "message": "string",
- "fields": [
- "string"
]
}
Create or import a SSH key. When importing use the keyData
field. To create a new key set create
to true
userId required | integer ID of user to associate key with |
Key settings
keyData | string Contents of key file to import. Use either keyData or create. |
create | boolean Default: false Create and return a new key. Use either keyData or create. |
title | string A title to display for the key. |
{- "keyData": "string",
- "create": false,
- "title": "string"
}
[- {
- "id": 0,
- "name": "string",
- "members": 0
}
]
Group settings
id | integer The group ID. |
name | string Name of the group. |
members | Array of strings Usernames of members in the group. |
Array of objects (Permission) Folder permissions assigned to the group. |
{- "id": 0,
- "name": "string",
- "members": [
- "string"
], - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
]
}
{- "id": 0
}
Return group settings.
id required | integer ID of group to return |
{- "id": 0,
- "name": "string",
- "members": [
- "string"
], - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
]
}
Update group settings
id required | integer ID of group to update |
User configuration
id | integer The group ID. |
name | string Name of the group. |
members | Array of strings Usernames of members in the group. |
Array of objects (Permission) Folder permissions assigned to the group. |
{- "id": 0,
- "name": "string",
- "members": [
- "string"
], - "permissions": [
- {
- "path": "string",
- "sub": true,
- "grants": "list",
- "targetPath": "string",
- "endpointId": 0
}
]
}
{- "message": "string",
- "fields": [
- "string"
]
}
Return list of all audit log entries filtered by given parameters. Note that each request will return a maximum of 10,000 entries and no pagination is currently available. If necessary, you must filter by a shorted time span.
start | string RFC 3339 timestamp of first event to return. |
end | string RFC 3339 timestamp of last event to return. |
path | string Show only events for the object at this path. |
operation | string The operation type to filter by. Valid values are 'cd', 'mkdir', 'ls','get','put','stat','rmdir','rm','mv' |
user | string The username to filter by. |
[- {
- "timestamp": "string",
- "path": "string",
- "user": "string",
- "operation": "string"
}
]