APIs are used to create, manage and fetch folders and their videos.

You can get bandwidth and storage consumption by start and end date.

Authorization can be done through API access key, can be get from myspace.filesafe.in.

See below Image (click to expand)
GET fetch folder by id

URL
https://api.filesafe.in/folder/folderId

Description
Fetch folder through folder id

Request Headers
Authorization Bearer Api-access-key

curl --location 'https://api.filesafe.in/folder/folder_ID' \
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in//folder/folder_ID',
  'headers': {
    'Authorization': 'Bearer {{Api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
GET fetch video by id

URL
https://api.filesafe.in/video/videoId

Description
fetch individual video using their video id.

Request Headers 
Authorization Bearer Api-access-key

curl --location 'https://api.filesafe.in/video/{{ videoId }} \
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in//video/{{ videoId }}',
  'headers': {
    'Authorization': 'Bearer {{Api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
GET fetch videos by folder

URL
https://api.filesafe.in/folder/folderId/videos?limit=5&page=1

Description
This will be used for getting all videos for specified folder with specified limit.limit and page are optional.default limit is 50 and page is 1.

Request Headers
Authorization Bearer Api-access-key

Query Params
limit – 5
page- 1

curl --location 'https://api.filesafe.in/folder/folder_ID/videos?limit=5&page=1' \
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in/folder/folder_ID/videos?limit=5&page=1',
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
GET fetch consumptions

URL
https://api.filesafe.in/consumption?startdate=2020-01-01&enddate=2020-01-31

Description
This api is used to fetch bandwidth and storage consumption for specified start and end date.both date are optional if omitted then get current date with start date of current month.

Request Headers
Authorization Bearer Api-access-key

Query Params
startdate – 2020-01-01
enddate – 2020-01-31

curl --location 'https://api.filesafe.in/consumption?startdate=2020-01-01&enddate=2020-01-31'\
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in/consumption?startdate=2020-01-01&enddate=2020-01-31',
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
GET fetch folders

URL
https://api.filesafe.in/folders?limit=5&page=1

Description
Fetch all folder for specified limit and page. Default limit is 50 and page is 1.

Request Headers
Authorization Bearer Api-access-key

Query Params
limit – 5
page- 1

curl --location 'https://api.filesafe.in/folders?limit=5&page=1' \
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in/folders?limit=5&page=1',
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
GET video playable

URL
https://api.filesafe.in/getplayable/videoId

Description
This api is used to get video playable html.

Request Headers
Authorization Bearer Api-access-key

curl --location 'https://api.filesafe.in/getplayable/{{ videoId }} \
--header 'Authorization: Bearer {{ api access key}}

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.filesafe.in/getplayable/{{ videoId }},
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
POST create folder

URL
https://api.filesafe.in/folder

Description
This api is used to create folder in which video will be uploaded.

Request Headers
Authorization Bearer Api-access-key

Body – urlencoded
name – foldername

curl --location 'https://api.filesafe.in/folder' \
--header 'Authorization: Bearer {{ api access key}} \
--data-urlencode 'name=foldername'

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://api.filesafe.in/folder',
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  },
  form: {
    'name': 'foldername'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
POST upload video

URL
https://api.filesafe.in/folder/folderId/upload-video

Description
This api is used to create and upload video.

Request Headers
Authorization Bearer Api-access-key

Body – form-data
file

curl --location 'https://api.filesafe.in/folder/{{ folderId }}/upload-video' \
--header 'Authorization: Bearer {{ api access key}} \
--form 'file=@"{{ filepath }}"'

var request = require('request');
var fs = require('fs');
var options = {
  'method': 'POST',
  'url': 'https://api.filesafe.in/folder/{{ folderId }}/upload-video',
  'headers': {
    'Authorization': 'Bearer {{ api access key}}'
  },
  formData: {
    'file': {
      'value': fs.createReadStream('{{ filepath }}'),
      'options': {
        'filename': '{{ filename }}',
        'contentType': null
      }
    }
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
Code Copied