FileMage Gateway (1.4)

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.

Authentication

api_key

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://api.filemage.io/users/ -H "filemage-api-token: 43fb7437e3f231e481b262ca6d4de0c0"

Security Scheme Type API Key
Header parameter name: filemage-api-token

Endpoints

Create and manage storage endpoints.

List endpoints

Return a list of endpoint names and corresponding endpoint IDs.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create endpoint

Create a new endpoint using provided settings.

Authorizations:
Request Body schema: application/json

Endpoint configuration

name
required
string

Visual label used to identify the endpoint.

required
object

Settings specific to the indicated storage endpoint type.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "fields": [
    ]
}

Get endpoint

Return detailed endpoint settings of specified endpoint.

Authorizations:
path Parameters
id
required
integer

ID of endpoint to return

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "config": {
    }
}

Update endpoint

Update settings of existing endpoint.

Authorizations:
path Parameters
id
required
integer

ID of endpoint to update

Request Body schema: application/json

Endpoint configuration

name
required
string

Visual label used to identify the endpoint.

required
object

Settings specific to the indicated storage endpoint type.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "fields": [
    ]
}

Delete endpoint

Authorizations:
path Parameters
id
required
integer

ID of endpoint to delete

Responses

Users

Create and manage user accounts.

List users

Return list of all active users.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create user

Authorizations:
Request Body schema: application/json

User settings

username
string

Username.

password
string

Password.

endpointId
integer

ID of endpoint to associate with user.

disabled
bool

Password authentication disabled.

object

Specify path, and permission level of user home directory

Array of objects (Permission)

Additional folder permissions assigned to the user.

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "endpointId": 0,
  • "disabled": null,
  • "home": {
    },
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get user

Return detailed user settings including SSH keys.

Authorizations:
path Parameters
id
required
integer

ID of user to return

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "username": "string",
  • "endpointId": 0,
  • "disabled": null,
  • "home": {
    },
  • "permissions": [
    ],
  • "keys": [
    ]
}

Update user

Update user settings not including keys. See Keys section for calls related to adding or removing keys.

Authorizations:
path Parameters
id
required
integer

ID of user to update

Request Body schema: application/json

User configuration

username
string

Username.

password
string

Password.

endpointId
integer

ID of endpoint to associate with user.

disabled
bool

Password authentication disabled.

object

Specify path, and permission level of user home directory

Array of objects (Permission)

Additional folder permissions assigned to the user.

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "endpointId": 0,
  • "disabled": null,
  • "home": {
    },
  • "permissions": [
    ]
}

Response samples

Content type
application/json