Introduction

Welcome to K2S API Guide.

This Guide is supposed to clarify the way how you can work with K2S Cloud Storage.

Using the following documentation you can automate the most often actions with K2S Cloud Storage such as

  • Create an automation scripts

and et cetera

Before you start

Please make sure you the following tools installed:

Examples run in a *nix environment.

Authorization

To start using Keep2Share API you have to use authorization process, which is available as several options:

  • Access_token with using permanent key is available for partners. See details by the following link
  • For users without additional validation – username and password.
  • For users with Goggle Captcha validation.

Authorization by permanent token

You can get a permanent token when you click “Create new token” button located on a page. Now we’re going to request one of K2S API methods, for instance

CURL:

Request:
$ curl -X POST \
-H "Content-type: application/json" \
-d '{"access_token":"yourtoken"}' \
https://keep2share.cc/api/v2/accountInfo
Response:
{
"status":"success",
"code":200,
"available_traffic":53687091200,
"account_expires":"2022-04-24T00:00:00.000Z"
}

Authorization by login and password

We request an auth_token from the server.

CURL:

Request:
$ curl -X POST \
-H "Content-type: application/json" \
-d '{"username":"yourbox@gmail.com","password":"yourpassword"}' \
https://keep2share.cc/api/v2/login

You will receive auth_token in server response if your login and password are correct.

Response:
{
"status":"success",
"code":200,
"auth_token":"flmuf4o3uo59s105546dmvmq60",
"message":"success"
}

PHP:

<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");
$result = $api->login();
var_dump($result);
/*
bool(true)
*/
var_dump($api->getAuthToken());
/*
string(flmuf4o3uo59s105546dmvmq60)
*/

Authorization by login and password with ReCaptcha

This option is a bit complicated but it is worth using it due to we are concerned about the security of your account

CURL:

Request:
$ curl -X POST \
-H "Content-type: application/json" \
-d '{"username":"yourbox@gmail.com","password":"yourpassword"}' \
https://keep2share.cc/api/v2/login
Response:
{
"message":"Please verify your request via re captcha challenge",
"status":"error",
"code":406,
"errorCode":33
}

At first, you should get a unique page with Google captcha.

Request:
$ curl -X POST -H "Content-type: application/json" \
http://keep2share.cc/api/v2/requestReCaptcha
Response:
{
"status":"success",
"code":200,
"challenge":"9c726b3ce8b34",
"captcha_url":"http://keep2share.cc/api/v2/reCaptcha.html?id=9c726b3ce8b34"
}

Open captcha_url in your browser and proceed verification. After you receive a link to a unique page with Google captcha and re_captcha_challenge you should open this link, pass captcha, and get unique code re_captcha_response.

All received data you should add to your authorization request do not forget to provide correct user login and password for authorization:

Request:
$ curl -X POST \
-H "Content-type: application/json" \
-d '{"username":"yourbox@gmail.com","password":"yourpassword" \
"re_captcha_challenge":"9c726b3ce8b34", \
"re_captcha_response":"9c726b3ce8b349c726b3ce8b349c726b3ce8b34"}' \
https://keep2share.cc/api/v2/login
Response:
{
"status":"success",
"code":200,
"auth_token":"flmuf4o3uo59s105546dmvmq60"
}

PHP:

<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");
$result = $api->login();
var_dump($result);
/*
bool(false)
*/
var_dump($api->request('requestReCaptcha'));
/*
array(4) {
["status"]=>
string(7) "success"
["code"]=>
int(200)
["challenge"]=>
string(13) "807a330502f04"
["captcha_url"]=>
string(59) "http://keep2share.cc/api/v2/reCaptcha.html?id=807a330502f04"
}
*/
<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");
$result = $api->login(null, null, "807a330502f04", "807a330502f04807a330502f04");
var_dump($result);
/*
bool(true)
*/
var_dump($api->getAuthToken());
/*
string(flmuf4o3uo59s105546dmvmq60)
*/

Upload

You need authorization.

Please make sure you the following tools installed:

Save the following into a file called upload.sh:

Bash script:
#!/bin/bash
cmd=$(curl -s -H 'Content-Type: application/json' -d '{"access_token": "your_token"}' "https://keep2share.cc/api/v2/getUploadFormData" | jq -r .)
echo "$cmd"

FullFileName="/yourFile.txt"
Form_Action=$(echo "$cmd" | jq -r ".form_action")
FileField=$(echo "$cmd" | jq -r ".file_field")
Ajax=$(echo "$cmd" | jq -r ".form_data.ajax")
Params=$(echo "$cmd" | jq -r ".form_data.params")
Sig=$(echo "$cmd" | jq -r ".form_data.signature")

cmd2=$(curl -F "$FileField=@$FullFileName" -F "ajax=$Ajax" -F "signature=$Sig" -F "params=$Params" "$Form_Action")

Save and close the file. You can run the script as follows:

sudo apt-get install jq
sudo chmod +x upload.sh
$ ./upload.sh

OR

PHP:

<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");
$result = $api->login();
if ($result === true) {
$uploadResult = $api->uploadFile('somefile.txt');
var_dump($uploadResult);
/*
array(5) {
["status"]=>
string(7) "success"
["success"]=>
bool(true)
["status_code"]=>
int(200)
["user_file_id"]=>
string(13) "a4b8776255952"
["link"]=>
string(32) "http://k2s.cc/file/a4b8776255578"
}
*/
}

We developed easy handling application for uploading files which suits to our partners.

Download

You don't need authorization to download files.

CURL:

Request:
$ curl -X POST \
-H "Content-type: application/json" \
'{"auth_token":"<your_auth_token>","file_id":"<your_file_id>"}' \
https://keep2share.cc/api/v2/getUrl
Response:
{
"status":"success",
"code":200,
"url":"https://prx-214.keep2share.cc/6b50f2add0ba8/a8db134b2b824/12bb6331eaf8e?temp_url_sig=cd2cb4d790632999d2623adfba6683a86e4294e439f4f927afc78744cceae28629c7119345093b8f30109725063d7cc2536d586ac2bd56554bc1101c9356e84f&temp_url_expires=1569891870&id=dba7c1fa58ef0&ip=any&node_id=214&countable=1&project=k2s&user_id=1&uf=a4b8776255352&tags=legacy-api%2Cdownload%2Ck2s&name=sometfile.txt"
}

PHP:

<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");
$result = $api->login();
var_dump($result);
/*
bool(true)
*/
var_dump($api->getUrl('<your_file_id>'));
/*
array(3) {
["status"]=>
string(7) "success"
["code"]=>
int(200)
["url"]=>
string(391) "https://prx-214.keep2share.cc/6b50f2add0ba8/a8db134b2b824/12bb6331eaf8e?temp_url_sig=cd2cb4d790632999d2623adfba6683a86e4294e439f4f927afc78744cceae28629c7119345093b8f30109725063d7cc2536d586ac2bd56554bc1101c9356e84f&temp_url_expires=1569891870&id=dba7c1fa58ef0&ip=any&node_id=214&countable=1&project=k2s&user_id=1&uf=a4b8776255352&tags=legacy-api%2Cdownload%2Ck2s&name=sometfile.txt"
}
*/

Keep2shareAPI.php

You can use the PHP SDK.

Example:

<?php
include "Keep2ShareAPI.php";
$api = new Keep2ShareAPI("yourbox@gmail.com", "yourpassword");

/** login **/
$login = $api->login();

/** getFiles **/
$getFiles = $api->getFilesList('/', 10, 0, ['date_created'=>-1], 'files');

/** upload **/
$upload = $api->uploadFile('PATH-TO-LOCAL-FILE');

/** getUrl **/
$getUrl = $api->GetUrl('ID-FILE');

/** createFolder **/
$createFolder = $api->createFolder('Any name');

/** getBalance **/
$getBalance = $api->getBalance();

You can see more examples here

MPUploader

A GUI application allows automated and quickly upload files to your account and receive links.

To download the application, follow the link

Detailed instructions for working with the application: En, RU

Resources

post /login

 

This method allows you to recieve auth_token for a user. All requests to resources which requere authentication must be with query parameter auth_token.

For more details proceed to Security in resource documentation.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/login

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
username* string

example: test@test.test

password* string

example: password

re_captcha_challenge string

example: 3fe7f38bba329

re_captcha_response string

example: 3fe7f38bba329asdasasd

Request Body

{
    "username":"test",
    "password":"pass",
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

Response Body

{
    "status":"success",
    "code":200,
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
  • captcha_need_wait - Ip temporary banned due to many captcha errors
  • captcha_need_wait_daily - Ip permanently banned due to many captcha errors
message* string

example: Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 71 - Login attempts exceeded
  • 72 - Account banned
  • 73 - No allow access from network
  • 74 - Unknown login error
  • 75 - Illegal session IP
  • 76 - Account stolen
  • 77 - Network banned
message* string

example: Network banned

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":77,
    "message":"Network banned"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 33 - ReCaptcha required
message* string

example: Please verify your request via re captcha challenge

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":33,
    "message":"Please verify your request via re captcha challenge"
}

post /requestReCaptcha

 

This method returns re_captcha_challenge and link on a page with Google recaptcha.

If you perform authorization from doubtful IP addresses you have to pass verification

curl -X POST \
  https://keep2share.cc/api/v2/requestReCaptcha

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* int

200

challenge* string

example: 3fe7f38bba329

captcha_url* string

Response Body

{
    "status":"success",
    "code":200,
    "challenge":"3fe7f38bba329",
    "captcha_url":"https://keep2share.cc/api/v2/reCaptcha.html?id=3fe7f38bba329"
}

get /reCaptcha

 

This method returns an html page with Google captcha.

Parameters chevron_right expand_more

Parameter Type Description
Query
id* string

example: 3fe7f38bba329

curl -X GET \
  https://keep2share.cc/api/v2/reCaptcha?id=<value>

200 OK chevron_right expand_more

text/html

text/html

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

message* string

Response Body

{
    "status":"error",
    "code":400,
    "message":"Id not found"
}

post /test

 

This is method that lets you check that you have access to the API, that the API is working.

curl -X POST \
  https://keep2share.cc/api/v2/test

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

message* string

Test was successful!

Response Body

{
    "status":"success",
    "code":200,
    "message":"Test was successful!"
}

post /accountInfo

 lock

This method is to recieve account information - it returns amount of avalable traffic on the current date and end of subscription Premium or Premium Pro (if a user has a subscription) in timestamp.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/accountInfo

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

available_traffic* integer

in bytes

account_expires* integer

timestamp

Response Body

{
    "status":"success",
    "code":200,
    "available_traffic":53687091200,
    "account_expires":"2022-04-24T00:00:00.000Z"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are need authorized

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /getBalance

 lock

This method returns user, partner or reseller balance.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getBalance

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

balance* float

example: 0.20

Response Body

{
    "status":"success",
    "code":200,
    "balance":0.20
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /getDomainsList

 lock

This method returns a list of available domains for a partner. It is necessary for file upload.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getDomainsList

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

domains* array

example: ['k2s.cc']

Response Body

{
    "status":"success",
    "code":200,
    "domains":['k2s.cc']
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /resellerGetCode

 lock

This method allows to recieve previously created reseller code or create a new one.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/resellerGetCode

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

days* integer

example: 7

useExist boolean

default: true

autoBuy boolean

default: true

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "days":7,
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

code_id* integer

example: 1

reseller_code* string

example: mt2dr45tlnev

balance* float

example: 0.10

Response Body

{
    "status":"success",
    "code":200,
    "code_id":1,
    "reseller_code":"mt2dr45tlnev",
    "code_id":0.10
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 50 - No available reseller codes
  • 51 - Error buy reseller codes
message* string

example: No available reseller codes

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":50,
    "message":"No available reseller codes"
}

post /getFoldersList

 lock

This method returns User's/Partner's list of folders.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getFoldersList

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

parent_id string

get sub folders by folder id

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

foldersList* array

names in order example: [ '/test', '/simple' ]

foldersIds* array

ids in order example: [ '5432a01230d2b', '1632a04bb0d2a' ]

parentFoldersList* array

parent names in order example: [ '/k2s', '/custom' ]

parentFoldersIds* array

parent ids in order example: [ '6432b01230d2b', '9432d01230d2c' ]

Response Body

{
    "status":"success",
    "code":200,
    "foldersList":['test','simple'],
    "foldersIds":['5432a01230d2b','1632a04bb0d2a']
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /createFolder

 

This method allows create folders.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/createFolder

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

name* string

example: test

parent* string

parent_id or set default '/'

access* string
Enum:
  • public
  • premium
is_public boolean

default: false

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "name":"test",
    "parent":"/",
    "access":"public"
}

201 Created chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

201

id* string

example: mt2dr45tlnev

Response Body

{
    "status":"success",
    "code":200,
    "id":"0632a04bb0d21"
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 60 - Error create folder
message* string

Error create folder

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":60,
    "message":"Error create folder"
}

post /getFilesList

 lock

This method allows you to recieve File list by its ID or from root folder in user space.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getFilesList

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

parent string

default '/'

limit integer

total number of files to receive, default 100, max 10000

offset integer

sampling start from N file with current order, default 0

sort array

examples:

{ name: 1 },

{ name: -1 },

{ date_created: 1 },

{ date_created: -1 }

only_available boolean

default false

extended_info boolean

default false

  • abuses
  • storage_object
  • size
  • date_download_last
  • downloads
  • access
  • content_type

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

files* array

Response Body

{
    "status":"success",
    "code":200,
    "files": [
        {
            "id":"4632a04bb0d2b",
            "name":"test",
            "is_available":false,
            "is_folder":false,
            "date_created":"2019-01-01 00:00:01",
            "size":1024,
            "md5":"a457f1dd3623a399d78a9672d225ddd5",
            "extended_info": {
                "abuses":[{
                    "type": "hash",
                    "projects": ["k2s"],
                    "blocked_to": "2020-01-01 00:00:01"
                }],
                "storage_object":"available",
                "size":1024,
                "date_download_last":"2019-01-01 00:00:01",
                "downloads":1,
                "access":"public",
                "content_type":"text"
            }
        }
    ]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 3 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /getFilesInfo

 

This method retrieves information about a folder only if it is set to "Public Folder" access level.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getFilesInfo

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

ids* array

example: ["358b6aa520a72", "96a9d7445484c"]

extended_info boolean
  • storage_object
  • size
  • access
  • content_type
  • video_info
    • duration
    • width
    • height
    • format
    • is_streamable
  • date_download_last
  • created_at

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "ids":["358b6aa520a72"],
    "extended_info":true
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
files* array
files[] object
files[].id* string
files[].name* string
files[].access* string
Enum:
  • public
  • private
files[].created_at datetime
files[].parent_id string

only for owner file or folder

files[].size* integer
files[].md5 string

only for owner file

files[].isAvailableForFree* boolean
files[].is_available* boolean
files[].is_folder* boolean
files[].extended_info object
files[].extended_info.access* string
files[].extended_info.content_type* string
files[].extended_info.size* integer
files[].extended_info.storage_object* string
files[].extended_info.date_download_last string
files[].extended_info.abuses array
files[].extended_info.abuses[] object
files[].extended_info.abuses[].type* string
files[].extended_info.abuses[].projects array
files[].extended_info.abuses[].projects[] string
files[].extended_info.abuses[].blocked_to string
files[].extended_info.video_info object
files[].extended_info.video_info.duration* number
files[].extended_info.video_info.width integer
files[].extended_info.video_info.height integer
files[].extended_info.video_info.format* string
files[].extended_info.video_info.is_streamable* boolean

Response Body

without extended info

Response without extended_info

{
  "code": 200,
  "files": [
    {
      "access": "public",
      "id": "da4a6352cb666",
      "is_available": true,
      "is_folder": false,
      "md5": "6661db843941f4b406e590c21caa9ca1",
      "name": "Super video.mp4",
      "size": 479125093
    }
  ],
  "status": "success"
}

with extended info

Response with extended_info

{
  "code": 200,
  "files": [
    {
      "access": "public",
      "created_at": "2022-11-19T12:52:20.000Z",
      "extended_info": {
        "access": "public",
        "content_type": "video/mp4",
        "date_download_last": "2022-12-17 10:14:11",
        "size": 479125093,
        "storage_object": "available",
        "video_info": {
          "duration": 1692.473,
          "format": "MPEG-4",
          "height": 1080,
          "is_streamable": true,
          "width": 1920
        }
      },
      "id": "da4a6352cb666",
      "isAvailableForFree": true,
      "is_available": true,
      "is_folder": false,
      "md5": "6661db843941f4b406e590c21caa9ca1",
      "name": "Super video.mp4",
      "parent_id": "6715a7cde4e55",
      "size": 479125093
    }
  ],
  "status": "success"
}

red abuse or deleted from storage

Response when file is red-flagged by abuse system or deleted from storage

{
  "code": 200,
  "files": [
    {
      "access": null,
      "id": "da4a6352cb666",
      "is_available": false,
      "is_folder": null,
      "md5": null,
      "name": null,
      "size": null
    }
  ],
  "status": "success"
}

not found

Response when file or folder not found

{
  "code": 200,
  "files": [
    {
      "access": null,
      "id": "da4a6352cbc6b",
      "is_available": null,
      "is_folder": null,
      "md5": null,
      "name": null,
      "size": null
    }
  ],
  "status": "success"
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 3 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /updateFiles

 lock

This method allows to change properties of files. Important! When moving files, there is a limit on the number of files in a folder of 50,000 items.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/updateFiles

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

ids* array

example: ['83f09624b61db', '83f09624b61ds']

new_name string

example: test

new_parent integer

parent_id or default '/'

new_access string
Enum:
  • public
  • private
  • premium
new_is_public boolean

default false

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "ids":["83f09624b61db","83f09624b61ds"]
    "new_name":"test"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

files* array

Response Body

{
    "status":"success",
    "code":200,
    "files": [
        {
            "id":"0632a04bb0d21",
            "status":"success",
            "errors":[]
        }
    ]
}

{
    "status":"success",
    "code":200,
    "files": [
        {
            "id":"0632a04bb0d21",
            "status":"success",
            "errors":["Limit files in specified folder reached"]
        }
    ]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /deleteFiles

 lock

This method allows user files deletion.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/deleteFiles

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

ids* array

example: ['83f09624b61db', '83f09624b61ds']

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "ids":["83f09624b61db","83f09624b61ds"]
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

deleted* integer

count of deleted files

Response Body

{
    "status":"success",
    "code":200,
    "deleted":2
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /findFile

 lock

This method allows to check file presence in our cloud storage using hash sum (md5).

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/findFile

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

md5* string

example: 'a457f1dd3623a399d78a9672d225ddd1'

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "md5":"a457f1dd3623a399d78a9672d225ddd1"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

found* boolean

Response Body

{
    "status":"success",
    "code":200,
    "found":true
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /createFileByHash

 lock

This method allows you to create a file based on a hash sum (md5). If our project already has a file with this hash sum (md5). Speeds up the upload time file.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/createFileByHash

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

hash* string

example: 'a457f1dd3623a399d78a9672d225ddd1'

name* string

example: 'test2'

parent string

parent_id or set default '/'

access string
Enum:
  • public
  • private
  • premium

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "hash":"a457f1dd3623a399d78a9672d225ddd1",
    "name":"test2"
}

201 Created chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

201

id* string

example: 0632a04bb0d21

Response Body

{
    "status":"success",
    "code":200,
    "id":"0632a04bb0d21",
    "link":"https://k2s.cc/file/0632a04bb0d21"
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 20 - File not found
  • 61 - Error create file
  • 62 - Error copy file
  • 64 - Disk quota exceeded
message* string

Error create file

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":62,
    "message":"Error copy file",
    "errors":[
        "Destination directory was not found",
        "Name is too short (minimum is 3 characters).",
        "Access is not in the list."
    ]
}

post /getFileStatus

 

This method returns information about a file or file list if you set a folder ID.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getFileStatus

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token string
id* string
limit integer
offset integer

Request Body

{
  "id": "96a9d7445484c"
}

200 OK chevron_right expand_more

Folder Response

application/json

Parameter Type Description
status* string
code* integer
files* array
files[] object
files[].id string
files[].access string
files[].isAvailableForFree boolean
files[].name string
files[].is_available boolean
files[].is_folder boolean
files[].date_created string

example: "2019-01-01 00:00:01" only for owner

files[].size integer
files[].video_info object
files[].video_info.duration number
files[].video_info.width integer
files[].video_info.height integer
files[].video_info.format string
files[].video_info.is_streamable boolean

Response Body

{
  "status": "success",
  "code": 200,
  "files": {
    "id": "1632a04bb0d2b",
    "access": "public",
    "isAvailableForFree": true,
    "name": "test.mp4",
    "is_available": true,
    "is_folder": false,
    "date_created": "2019-01-01 00:00:01",
    "size": 1024,
    "video_info": {
      "duration": 848.901,
      "width": 1920,
      "height": 1080,
      "format": "MPEG-4",
      "is_streamable": true
    }
  }
}

File Response

application/json; schema=file

Parameter Type Description
status* string
code* integer
access string
isAvailableForFree boolean
name string
is_available boolean
is_folder boolean
size integer
date_created string

example: "2019-01-01 00:00:01" only for owner

video_info object
video_info.duration number
video_info.width integer
video_info.height integer
video_info.format string
video_info.is_streamable boolean

Response Body

{
  "status": "success",
  "code": 200,
  "access": "premium",
  "isAvailableForFree": false,
  "is_available": true,
  "is_folder": false,
  "name": "test.mp4",
  "size": 7777777,
  "date_created": "2019-01-01 00:00:01",
  "video_info": {
    "duration": 5392.92,
    "format": "MPEG-4",
    "width": 768,
    "height": 1024,
    "is_streamable": true
  }
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

example: Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer

default 20

message* string

File not available

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":20,
    "message":"File not available"
}

post /updateFile

 lock

This method allows to change file properties. Important! When moving files, there is a limit on the number of files in a folder of 50,000 items.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/updateFile

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

id* string

example: '83f09624b61db'

new_name string

example: test

new_parent integer

parent_id or default '/'

new_access string
Enum:
  • public
  • private
  • premium
new_is_public boolean

default false

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "id":"83f09624b61db"
    "new_name":"test"
}

202 Accepted chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

files* array

Response Body

{
    "status":"success",
    "code":202,
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 61 - Limit files in specified folder reached
  • 63 - Error update file
  • 64 - Disk quota exceeded
message* string

Error update file

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":63,
    "message":"Error update file"
}

post /getUploadFormData

 lock

This method allows to recieve file uploading form. Important! There is a limit on the number of files in a folder of 50,000 items.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getUploadFormData

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

parent_id* string

parent_id or set '/' for default upload folder

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "parent_id":"/"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

form_action* string

[object Object]

file_field* string

file

form_data* array

example: mt2dr45tlnev

Response Body

{
    "status":"success",
    "code":200,
    "form_action":"http://file-api-26.keep2share.cc:8000/upload",
    "file_field":"file",
    "form_data":{
      "ajax":true,
      "params":"{}",
      "signature":"264567c43b813fce606d5a390b71"
    }
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 61 - Limit files in specified folder reached
  • 63 - No available nodes
message* string

No available nodes

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":63,
    "message":"No available nodes"
}

post /remoteUploadAdd

 lock

This method allows to add links for remote upload. Return url and remote upload ID for checking download status in method remoteUploadStatus.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/remoteUploadAdd

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

urls* array

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "urls":['http://google.com']
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

acceptedUrls* array

example: [{"url":"http://google.com", id:"46564421"}]

rejectedUrls* array

example: []

Response Body

{
    "status":"success",
    "code":200,
    "acceptedUrls":[{
        "url":"http://google.com",
        "id":"46564421"
    }],
    "rejectedUrls":[]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /remoteUploadStatus

 lock

This method allows to check status of recently added file links.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/remoteUploadStatus

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

ids* array

example: ['46564421']

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "ids":["46564421"]
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

uploads* array

Response Body

{
    "status":"success",
    "code":200,
    "uploads":[
      {
        "status":3,
        "progress":100,
        "file_id":"27dddcb772fec"
      }
    ]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

post /getUrl

 

This method is for recieveing a link to download file.

curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getUrl

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
file_id* string

example: 3fe7f38bba329

auth_token string

example: 3fe7f38bba329asdasasd

free_download_key string

example: 3fe7f38bba329

captcha_challenge string

example: 3fe7f38bba329asdasasd

captcha_response string

example: 3fe7

url_referrer string

Request Body

{
    "file_id":"3fe7f38bba329"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

url* string

Response Body

{
    "status":"success",
    "code":200,
    "url":"https://prx-214.keep2share.cc/6b50f2add0ba8/name=sometfile.txt"
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

406

errorCode* integer
  • 1 - Download count exceeded
  • 2 - Download traffic exceeded
  • 3 - Download file size exceeded
  • 20 - File not found
  • 21 - File is not available:
    • 1 - Download count files exceed
    • 2 - Traffic limit exceed
    • 3 - Free user can't download large files. Upgrade to PREMIUM and forget about limits.
    • 7 - This download available only for premium users
    • 8 - This is private file
    • 9 - This download available only for store subscribers
  • 22 - File is blocked
  • 30 - Captcha required
  • 31 - Invalid captcha
  • 40 - Wrong free download key
  • 41 - Need wait for free
  • 42 - Download is not available
message* string

example: Captcha required

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":30,
    "message":"Captcha required"
}

or

{
    "status":"error",
    "code":406,
    "errorCode":21,
    "message":"File is not available"
    "errors": [{
        "code":1,
        "message": "Download count files exceed"
    }]
}

post /requestCaptcha

 

This method returns captcha_challenge and link to a page with Google captcha. When you download under non-authorised user you have to pass verification.

curl -X POST \
  https://keep2share.cc/api/v2/requestCaptcha

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* int

200

challenge* string

example: 3fe7f38bba329

captcha_url* string

Response Body

{
    "status":"success",
    "code":200,
    "challenge":"3fe7f38bba329",
    "captcha_url":"https://keep2share.cc/api/v2/reCaptcha.html?id=3fe7f38bba329"
}

get /captcha

 

This method returns an image with a code.

Parameters chevron_right expand_more

Parameter Type Description
Query
id* string

example: 3fe7f38bba329

curl -X GET \
  https://keep2share.cc/api/v2/captcha?id=<value>

200 OK chevron_right expand_more

image/jpg

image/jpg

post /getSubscriptions

 lock

This method returns subscriptions by domain name.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getSubscriptions

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

domainName* sring

example: "test.test"

limit integer

default 20

offset integer

default 0

Request Body

{
    "auth_token":"cb9tg4rt9lom9gb5i6tudgqlse",
    "domainName":"test.test",
    "limit":1
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

files* array

Response Body

{
   "status":"success",
   "code":200,
   "total":10,
   "items": [
      {
         "userEmail":"user1@test.test",
         "domainName":"test.test",
         "expiresAt":"2021-08-25T15:23:15.000Z",
         "lastPayment":"2021-08-25T15:23:15.000Z",
      }
   ]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 3 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

403

errorCode* integer
  • 10 - You are need authorized
message* string

You are not authorized for this action

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

404 Not Found chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

404

message* string

Domain not found

Response Body

{
    "status":"error",
    "code":400,
    "message":"Domain not found"
}

post /getFilesMeta

 lock

Returns a list of file metadata with optional filtering by file IDs and tag.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/getFilesMeta

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token string

example: cb9tg4rt9lom9gb5i6tudgqlse

file_ids array

example: ["96a9d7445484c", "96a9d74454842"]

file_ids[]
tag string

example: video_k2s

category string

example: western

actress string

example: Jennifer Aniston

page integer

default 0

size integer

default 100

Request Body

{
  "file_ids": ["96a9d7445484c"],
  "tag": "video_k2s",
  "category": "western",
  "actress": "Jennifer Aniston",
  "page": 0,
  "size": 100
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

items* array
items[] object
items[].file_id* string
items[].title* string
items[].studio* string
items[].categories* array
items[].categories[]
items[].actresses* array
items[].actresses[]
items[].description* string
items[].tags* array
items[].tags[]
total* integer

Response Body

{
  "status":"success",
  "code":200,
  "items": [
    {
      "file_id": "96a9d7445484c",
      "title": "Video file",
      "studio": "Studio",
      "categories": ["western"],
      "actresses": ["Jennifer Aniston"],
      "description": "Simple video file",
      "tags": ["video_k2s", "video_k2s_1", "video_k2s_2"]
    }
  ],
  "total": 1
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":400,
  "errorCode":2,
  "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":403,
  "errorCode":10,
  "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":406,
  "errorCode":60,
  "message":"Error list file meta"
}

post /createFileMeta

 lock

Creates metadata for a file. Allows setting a title, description, and tags for the specified file.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/createFileMeta

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

file_id* string

example: "96a9d7445484c"

title string

File title example: Video file

description string

File description example: Simple video file

studio string

Studio name example: Universal Studio

categories array

List of categories (max 50) example: ["western", "comedy"]

categories[]
actresses array

List of actresses (max 50) example: ["Ann Taylor", "Jennifer Lawrence"]

actresses[]
tags array

List of tags (max 50) example: ["video_k2s", "video_k2s_1"]

tags[]

Request Body

{
    "auth_token": "cb9tg4rt9lom9gb5i6tudgqlse",
    "file_id": "96a9d7445484c",
    "title": "Video file",
    "studio": "Universal Studio",
    "categories": ["western", "comedy"],
    "actresses": ["Ann Taylor", "Jennifer Lawrence"],
    "description": "Simple video file",
    "tags": ["video_k2s", "video_k2s_1"]
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

file_id* string
title* string
description* string
tags* array
tags[]

Response Body

{
    "status": "success",
    "code": 200,
    "file_id": "96a9d7445484c",
    "title": "Video file",
    "studio": "Universal Studio",
    "categories": ["western", "comedy"],
    "actresses": ["Ann Taylor", "Jennifer Lawrence"],
    "description": "Simple video file",
    "tags": ["video_k2s", "video_k2s_1"]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

error

code* integer

400

errorCode* integer
  • 2 - Incorrect param value
message* string

Invalid request params

Response Body

{
    "status":"error",
    "code":400,
    "errorCode":2,
    "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
  • 10 - You are need authorized
message* string

Response Body

{
    "status":"error",
    "code":403,
    "errorCode":10,
    "message":"You are not authorized for this action"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer

60

message* string

Error create file meta

Response Body

{
    "status":"error",
    "code":406,
    "errorCode":60,
    "message":"Error create file meta"
}

post /updateFileMeta

 lock

Updates metadata for a file. Only the fields provided in the request (title, description, tags) will be updated. Fields that are not included in the request remain unchanged.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/updateFileMeta

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

file_id* string

File ID example: "96a9d7445484c"

title string

File title (max 255). If omitted, the field is not changed. example: Video file

description string

File description. If omitted, the field is not changed. example: Simple video file

studio string

Studio name. If omitted, the field is not changed. example: Universal Studio

categories array

List of categories (max 50). If omitted or null - categories are not changed. To clear categories, pass an empty array: []. example: ["western", "comedy"]

categories[]
actresses array

List of actresses (max 50). If omitted or null - actresses are not changed. To clear actresses, pass an empty array: []. example: ["Jennifer Aniston", "Kim Kardashian"]

actresses[]
tags array

List of tags (max 50). If omitted or null - tags are not changed. To clear tags, pass an empty array: []. example: ["video_k2s", "video_k2s_1"]

tags[]

Request Body

{
  "auth_token": "cb9tg4rt9lom9gb5i6tudgqlse",
  "file_id": "96a9d7445484c",
  "title": "Video file",
  "description": "Simple video file",
  "studio": "Universal Studio",
  "categories": ["western", "comedy"],
  "actresses": ["Jennifer Aniston", "Kim Kardashian"],
  "tags": ["video_k2s", "video_k2s_1"]
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

file_id* string
title* string
description* string
studio* string
categories* array
categories[]
actresses* array
actresses[]
tags* array
tags[]

Response Body

{
  "status": "success",
  "code": 200,
  "file_id": "96a9d7445484c",
  "title": "Video file",
  "studio": "Universal Studio",
  "categories": ["western", "comedy"],
  "actresses": ["Jennifer Aniston", "Kim Kardashian"],
  "description": "Simple video file",
  "tags": ["video_k2s", "video_k2s_1"]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":400,
  "errorCode":2,
  "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":403,
  "errorCode":10,
  "message":"You are not authorized for this action"
}

404 Not Found chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":404,
  "errorCode":60,
  "message":"File meta not found"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":406,
  "errorCode":60,
  "message":"Error update file meta"
}

post /copyFileMeta

 lock

Copies metadata (title, description, and tags) from the source file to the specified destination file.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/copyFileMeta

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

from_file_id* string

Source file ID from which metadata will be copied example: "96a9d7445484c"

to_file_id* string

Destination file ID where metadata will be copied example: "96a9d74454842"

Request Body

{
  "auth_token": "cb9tg4rt9lom9gb5i6tudgqlse",
  "from_file_id": "96a9d7445484c",
  "to_file_id": "96a9d74454842"
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

file_id* string
title* string
studio* string
categories* array
categories[]
actresses* array
actresses[]
description* string
tags* array
tags[]

Response Body

{
  "status": "success",
  "code": 200,
  "file_id": "96a9d74454842",
  "title": "Video file",
  "studio": "Universal Pictures",
  "categories": ["western", "comedy"],
  "actresses": ["Jennifer Aniston", "Jennifer Lawrence"],
  "description": "Simple video file",
  "tags": ["video_k2s", "video_k2s_1"]
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":400,
  "errorCode":2,
  "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":403,
  "errorCode":10,
  "message":"You are not authorized for this action"
}

404 Not Found chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":404,
  "errorCode":3,
  "message":"from_file_id not found"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":406,
  "errorCode":60,
  "message":"Error copy file meta"
}

post /deleteFileMeta

 lock

Deletes metadata for the specified file.

Secured By chevron_right expand_more

Custom Scheme custom_scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X POST \
  -H "Content-type: application/json"
  -d @body.json \
  https://keep2share.cc/api/v2/deleteFileMeta

Request Body chevron_right expand_more

application/json

application/json

Parameter Type Description
auth_token* string

example: cb9tg4rt9lom9gb5i6tudgqlse

file_id* string

File ID example: "96a9d7445484c"

Request Body

{
  "auth_token": "cb9tg4rt9lom9gb5i6tudgqlse",
  "file_id": "96a9d7445484c",
}

200 OK chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string

success

code* integer

200

Response Body

{
  "status": "success",
  "code": 200
}

400 Bad Request chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":400,
  "errorCode":2,
  "message":"Invalid request params"
}

403 Forbidden chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":403,
  "errorCode":10,
  "message":"You are not authorized for this action"
}

404 Not Found chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":404,
  "errorCode":60,
  "message":"File meta not found"
}

406 Not Acceptable chevron_right expand_more

application/json

application/json

Parameter Type Description
status* string
code* integer
errorCode* integer
message* string

Response Body

{
  "status":"error",
  "code":406,
  "errorCode":60,
  "message":"Error delete file meta"
}

Security Schemes

Security Scheme custom_scheme

Custom Scheme

To start using API you need to have Keep2Share user account or Partner Account:

  • For Partner Account you can set access_token parameter while running any methods from this API. You can find the access_token on this page
  • For Keep2Share user account you need to login to the API
curl -X <method> \
  https://keep2share.cc/api/v2/<path>

Types