sendspace Developer | Documentation

Home
API Howto
Full API Guide
API Keys
Downloads
API Support

sendspace API (beta) Developer Guide

The sendspace Application Programming Interface (API) allows you to embed sendspace services in your applications, programs, or scripts, regardless of platform and programming language.

All communication with the sendspace API (beta) assumes a UTF-8 encoding.

 


Methods

sendspace API (beta) currently supports the following methods:

Authentication

Method: auth.register

Description
Creates a new user account. An activation/validation email will be sent automatically to the user.
Arguments
Name Mandatory Description
api_key Yes Received from sendspace
user_name Yes a-z/A-Z/0-9, 3-20 chars
full_name Yes a-z/A-Z/space , 3-20 chars
email Yes Valid email address required
password Yes Can be left empty and the API will create a unique password or enter one with 4-20 chars
Returns
ok status
Response
 
<result method="auth.register" status="ok">
    <status>ok</status>
</result>


Possible Errors
Code Name Description
11 API_ERROR_PERMISSION_DENIED Permission denied
27 API_ERROR_REGISTRATION_ERROR * A specific text message will be sent according to the error *

Method: auth.createToken

Description
Obtains a new and random token per session. Required for login.
Arguments
Name Mandatory Description
api_key Yes Received from sendspace
api_version Yes Value must be: 1.0
app_version No Application specific, formatting / style is up to you
response_format No Value must be: XML
Returns
A token to be used with the auth.login method
Response
 
<result method="auth.createToken" status="ok">
    <token>xxxx</token>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=auth.createtoken&api_key=12DPC5Q11N&api_version=1.0&response_format=xml&app_version=0.1


Possible Errors
Code Name Description
5 API_ERROR_BAD_API_VERSION Unknown or unsupported API version
25 API_ERROR_OUTDATED_VERSION The application version you are using is too old. Please upgrade it.

Method: auth.login

Description
Starts a session and returns user API method capabilities -- which features the given user can and cannot use.
Arguments
Name Mandatory Description
token Yes Received on create token
user_name Yes Registered user name
tokened_password Yes lowercase(md5(token+lowercase(md5(password)))) - md5 values should always be lowercase.
Returns
session_key to be sent with all method calls, user information, including the user account's capabilities
Response
 
<result method="auth.login" status="ok">
    <session_key>XXXX</session_key>
    <email>XXXX</email>
    <membership_type>pro/max/lite</membership_type>
    <membership_ends>4534535</membership_ends>
    <capable_upload>0/1</capable_upload>
    <capable_download>0/1</capable_download>
    <capable_folders>0/1</capable_folders>
    <capable_files>0/1</capable_files>
    <bandwidth_left>bytes/-1=unlimited</bandwidth_left>
    <diskspace_left>bytes/-1=unlimited</diskspace_left>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=auth.login&token=57md654jwfl6l25idskzh8x3b5zwp46k&user_name=testuser&tokened_password=2cb501e4j86ef8ad17f6b26b90ee5764


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
8 API_ERROR_AUTHENTICATION_FAILURE Authentication error
11 API_ERROR_PERMISSION_DENIED Permission denied

Method: auth.checksession

Description
Checks if a session is valid or not.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
Returns
Session status (OK/Expired) and up to date account statistics which include the of user's remaining bandwidth & disk space information
Response
 
<result method="auth.checkSession" status="ok">
    <session>ok/expired</session>
    <bandwidth_left>bytes/-1=unlimited</bandwidth_left>
    <diskspace_left>bytes/-1=unlimited</diskspace_left>
</result>


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
7 API_ERROR_SESSION_NOT_AUTH Session not authenticated

Method: auth.logout

Description
Logs out from a session.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
Returns
OK status
Response
 
<result method="auth.logout" status="ok">
    <status>ok</status>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=auth.logout&session_key=zm2bh8t1n0kcjfr97kxbvyy8wch5vtek


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found

Upload

Method: upload.getInfo

Description
Obtains the information needed to perform an upload.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
speed_limit No Upload speed limit in kilobytes, 0 for unlimited
Returns
URL to upload the file to, progress_url for real-time progress information, max_file_size for max size current user can upload, upload_identifier & extra_info to be passed with the upload form
Response
 
<result method="upload.getInfo" status="ok">
    <upload url="" progress_url="" max_file_size="" upload_identifier="" extra_info="" />
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=upload.getinfo&session_key=9i96woykgory1crglmykgycjwa5k2cq2&speed_limit=0


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
11 API_ERROR_PERMISSION_DENIED Permission denied
19 API_ERROR_PRO_EXPIRED Pro user, account expired
20 API_ERROR_PRO_DISKSPACE_LIMIT Pro user, reached disk space limit
upload method
 
<form method="post" action="[url value received in response]" enctype="multipart/form-data">
    <!-- MUST FIELDS -->
    <input type="hidden" name="MAX_FILE_SIZE" value="[max_file_size value received in response]">
    <input type="hidden" name="UPLOAD_IDENTIFIER" value="[upload_identifier value received in response]">
    <input type="hidden" name="extra_info" value="[extra_info value received in response]">
    <input type="file" name="userfile">
 
    <!-- OPTIONAL FIELDS --->
    <input type="text" name="description">
    <input type="text" name="password">
    <input type="text" name="folder_id">
    <input type="text" name="recipient_email">  <!-- an email (or emails separated with ,) of recipient/s to receive information about the upload -->
    <input type="checkbox" name="notify_uploader" value="1">  <!-- 0/1 - should the uploader be notified? -->
    <input type="hidden" name="redirect_url">  <!-- page to redirect after upload will be attached upload_status=ok/fail&file_id=XXXX -->
</form>


Different file input name

In case an application is used that hard codes the upload input field (such as Adobe Flash), it is possible to send this field name with the value of "userfile". The code will then know to read from that input, instead of "userfile".
When Upload Ends

If redirect_url was given, it will redirect to the URL, also adding two extra URL params to it:
* upload_status: ok/fail
* file_id: file_id (can be used in the API for later)
If no redirect_url is given, a page with the following text will be sent:
 
upload_status=ok/fail
file_id=XXXX
bandwidth_left=bytes/-1(=unlimited)
diskspace_left=bytes/-1(=unlimited)



Progress Bar

Reading from progress_url will give the an XML output similar to this:
 
<progress>
    <status>ok/fail/done</status>
    <eta>00:00:00</eta>
    <speed>50</speed> <!-- in kbps -->
    <uploaded_bytes>1000</uploaded_bytes> <!-- in bytes -->
    <total_size>50000</total_size> <!-- in bytes -->
    <elapsed>00:00:00</elapsed>
    <meter>0-100</meter> <!-- percentage of upload done -->
</progress>



Because the xHTTPRequest JavaScript call, for security reasons, is unable to issue requests to hosts other than the host the page originated from, you need to make use of a simple proxy to read the progress information. For example:
 
<?
header("Content-type: text/xml");
echo file_get_contents($_REQUEST['url']);
?>



Anonymous

Method: anonymous.uploadGetInfo

Description
Obtains the basic information needed to make an anonymous upload. This method does not require authentication or login.
Arguments
Name Mandatory Description
speed_limit No Upload speed limit in kilobytes, 0 for unlimited
api_key Yes Received from sendspace
api_version Yes 1.0
app_version No Application specific, formatting / style is up to you
Returns
URL to upload the file to, progress_url for real-time progress information, max_file_size for max size current user can upload, upload_identifier & extra_info to be passed in the upload form
Response
 
<result method="anonymous.uploadgetinfo" status="ok">
    <upload url="" progress_url="" max_file_size="" upload_identifier="" extra_info="" />
</result>


Possible Errors
Code Name Description
5 API_ERROR_BAD_API_VERSION Unknown or unsupported API version
When Upload Ends

If redirect_url was given, it will redirect to the URL, also adding two extra URL params to it:
* upload_status: ok/fail
* file_id: file_id (can be used in the API for later)
If no redirect_url is given, an xml page with following format will be sent:
 
<upload_done>
    <status>ok</status>
    <download_url>http://www.sendspace.com/file/XXXXX</download_url>
    <delete_url>http://www.sendspace.com/delete/XXXXX/YYYY</delete_url>
    <file_id>XXXXX</file_id>
</upload_done>


Progress Bar

Reading from progress_url can give the following XML result:
 
<progress>
    <status>ok/fail/done</status>
    <eta>00:00:00</eta>
    <speed>50</speed> <!-- in kbps -->
    <uploaded_bytes>1000</uploaded_bytes> <!-- in bytes -->
    <total_size>50000</total_size> <!-- in bytes -->
    <elapsed>00:00:00</elapsed>
    <meter>0-100</meter> <!-- percentage of upload done -->
</progress>



Because Ajax, for security reasons, is unable to issue requests to hosts other than the host the pages originated from, you need to make use a proxy to read the progress information. For example:
 
<?
header("Content-type: text/xml");
echo file_get_contents($_REQUEST['url']);
?>



Download

Method: download.getInfo

Description
Returns information required to download a file.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or full file URL starting with http://
password No
Returns
URL for direct download of the file, and file information (name & size)
Response
 
<result method="download.getInfo" status="ok">
    <download file_id="" name="" url="" file_size="" />
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=download.getinfo&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=http%3A%2F%2Fsendspace.com%2Ffile%2Fxapz8a


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found
11 API_ERROR_PERMISSION_DENIED Permission denied
12 API_ERROR_DOWNLOAD_TEMP_ERROR Download is temporarily unavailable
19 API_ERROR_PRO_EXPIRED Pro user, account expired
22 API_ERROR_BAD_PASSWORD A wrong or empty password was given
23 API_ERROR_BANDWIDTH_LIMIT Account bandwidth limit reached
26 API_ERROR_INVALID_FILE_URL Not a sendspace download URL (must start with http://www.sendspace.com/ and contain a 6 character link)

Files

Method: files.getInfo

Description
Gets information about a specific file.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or list of files id's (a1a1a1,s2s2s2,d3d3d3)
Returns
Full file information including size, upload date, download URLs & number of downloads
Response
 
<!-- successful response -->
<result method="files.getInfo" status="ok">
    <file id="" name="" description="" password="" folder_id="" download_page_url="" direct_download_url="" upload_time="" file_size="" downloads="" time_limit="" download_limit="" limit_action="" limit_action_to_folder=""/>
</result>           
 
<!-- failed response -->
<result method="files.getinfo" status="fail">
        <error code="9" text="File not found"/>
        <id>u5txwy</id>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=files.getinfo&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=hklv47


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found

Method: files.moveToFolder

Description
Moves a file or files into a specific folder.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or list of files' id's (a1a1a1,s2s2s2,d3d3d3)
folder_id Yes A folder_id code or 0 for root folder
Returns
full file information if operation was successful
Response
 
<result method="files.movetoFolder" status="ok">
    <file id="" name="" description="" password="" folder_id="" download_page_url="" direct_download_url="" upload_time="" file_size="" downloads="" time_limit="" download_limit="" limit_action="" limit_action_to_folder=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=files.movetofolder&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=x5l7qv&folder_id=2l28mq


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found

Method: files.setInfo

Description
Updates information about a specific file.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or list of files id's (a1a1a1,s2s2s2,d3d3d3)
name No Only use if you want to change data. Sending empty will clear existing data.
description No Only use if you want to change data. Sending empty will clear existing data.
password No Only use if you want to change data. Sending empty will clear existing data.
folder_id No A folder_id code or 0 for root folder
time_limit No Seconds until limit reached
downloads_limit No Total number of downloads until limit reached
limit_action No Action to perform when reached limit (1=block downloads, 2=delete file, 3=move file to a different folder)
limit_action_to_folder No folder_id if limit_action is 3
Returns
Full and up to date file information if the operation was successful
Response
 
<result method="files.setInfo" status="ok">
    <file id="" name="" description="" password="" folder_id="" download_page_url="" direct_download_url="" upload_time="" file_size="" downloads="" time_limit="" download_limit="" limit_action="" limit_action_to_folder=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=files.setinfo&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=hklv47&name=Crazy+frog+-+Popcorn.mp3&folder_id=k6vpyz


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found

Method: files.delete

Description
Deletes a single file or more. This action cannot be reversed.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or list of files' id's (a1a1a1,s2s2s2,d3d3d3)
Returns
ID of the file if operation was successful
Response
 
<!-- successful response -->
<result method="files.delete" status="ok">
    <id>$file_id</id>
</result>         
 
<!-- failed response -->
<result method="files.delete" status="fail">
        <error code="9" text="File not found"/>
        <id>u5txwy</id>
</result>


Usage Example
requesting deletion of 1 file:
 
http://api.sendspace.com/rest/?method=files.delete&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=2u0v02


requesting deletion of more than 1 file:
 
http://api.sendspace.com/rest/?method=files.delete&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=yqnz48%2Cfbl8my


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found

Method: files.sendMail

Description
Sends the file link (URL) to the recipient(s), by email.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
file_id Yes file_id or list of files' id's (a1a1a1,s2s2s2,d3d3d3)
emails Yes List of emails to send
message No Additional message to send the recipients
Returns
id of the file if operation was successful
Response
 
<!-- successful response -->             
<result method="files.sendMail" status="ok">
    <id>$file_id</id>
</result>    
 
<!-- failed response -->
<result method="files.sendmail" status="fail">
        <error code="24" text="Email(s) are invalid"/>
        <id>6wnhxi</id>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=files.sendmail&session_key=9i96woykgory1crglmykgycjwa5k2cq2&file_id=u5txwy&emails=webmasteratsendspacedotcom&message=check+this+file


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
9 API_ERROR_FILE_NOT_FOUND File not found
24 API_ERROR_INVALID_EMAIL Email(s) are invalid

Folders

Method: folders.getInfo

Description
Gets information about a specific folder.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or 0 for root folder
Returns
Folder information
Response
 
<result method="folders.getInfo" status="ok">
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id="" total_files="" total_size="" total_folders="" />
</result>


Usage Example
 
    http://api.sendspace.com/rest/?method=folders.getinfo&session_key=9i96woykgory1crglmykgycjwa5k2cq2&folder_id=f97uqo


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found

Method: folders.create

Description
Creates a new folder.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
name Yes
shared No Value can be 0 for private or 1 for public
parent_folder_id No A folder_id code or 0 for root folder
Returns
New folder information
Response
 
<result method="folders.create" status="ok">
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.create&session_key=9i96woykgory1crglmykgycjwa5k2cq2&name=test&shared=0&parent_folder_id=0


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
11 API_ERROR_PERMISSION_DENIED Permission denied

Method: folders.setInfo

Description
Updates folder information.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or 0 for root folder
name No Only use if you want to change data. Sending empty will clear existing data.
shared No Value can be 0 for private or 1 for public. Only use if you want to change data. Sending empty will clear existing data.
parent_folder_id No Only use if you want to change data. Sending empty will clear existing data.
Returns
Current folder information
Response
 
<result method="folders.setInfo" status="ok">
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
</result>


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
11 API_ERROR_PERMISSION_DENIED Permission denied
31 API_ERROR_BAD_TARGET_FOLDER Invalid target folder selected

Method: folders.delete

Description
Deletes a folder. The folder must be empty, with no files or sub-folders inside.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or 0 for root folder
Returns
Deleted folder id
Response
 
<result method="folders.delete" status="ok">
    <status>ok</status>
    <id>$folder_id</id>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.delete&session_key=9i96woykgory1crglmykgycjwa5k2cq2&folder_id=id1y0r


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
11 API_ERROR_PERMISSION_DENIED Permission denied
14 API_ERROR_FOLDER_NOT_EMPTY Folder is not empty

Method: folders.getContents

Description
Obtains the full contents of a folder, including files and any sub-folders.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or 0 for root folder
Returns
Files & folders information list
Response
 
<result method="folders.getContents" status="ok">
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
    ...
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
    <file id="" name="" description="" password="" folder_id="" download_page_url="" direct_download_url="" upload_time="" file_size="" downloads="" time_limit="" download_limit="" limit_action="" limit_action_to_folder=""/>
    ...
    <file id="" name="" description="" password="" folder_id="" download_page_url="" direct_download_url="" upload_time="" file_size="" downloads="" time_limit="" download_limit="" limit_action="" limit_action_to_folder=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.getcontents&session_key=9i96woykgory1crglmykgycjwa5k2cq2&folder_id=0


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found

Method: folders.getShared

Description
Obtains the full contents of a shared folder, including files and any shared sub-folders.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or full url
Returns
Folder info, files & sub folders information list
Response
 
<result method="folders.getShared" status="ok">
    <current id="" name="" parent_folder_id=""/>
    <folder id="" name="" parent_folder_id=""/>
    ...
    <folder id="" name="" parent_folder_id=""/>
    <file id="" name="" description="" folder_id="" upload_time="" file_size=""/>
    ...
    <file id="" name="" description="" folder_id="" upload_time="" file_size=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.getshared&session_key=9i96woykgory1crglmykgycjwa5k2cq2&folder_id=******


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found

Method: folders.getAll

Description
Obtains information about all available folders.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
Returns
Folders information list
Response
 
<result method="folders.getAll" status="ok">
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
    ...
    <folder id="" name="" shared="" public_url="" rss_url="" parent_folder_id=""/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.getall&session_key=9i96woykgory1crglmykgycjwa5k2cq2


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found

Method: folders.move

Description
Moves a folder. Can be moved into another folder, or placed in the root.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes A folder_id code or 0 for root folder
parent_folder_id Yes folder_id code or 0 for root folder
Returns
Folder id of the moved folder
Response
 
<result method="folders.move" status="ok">
    <status>ok</status>
    <id>$folder_id</id>
</result>


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
31 API_ERROR_BAD_TARGET_FOLDER Invalid target folder selected

Method: folders.sendMail

Description
Sends the folder link (URL) to the recipient(s), by email.
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
folder_id Yes folder_id or list of folders' id's (a1a1a1,s2s2s2,d3d3d3)
emails Yes List of emails to send
message No Additional message to send the recipients
Returns
ID of the folder if operation was successful
Response
 
<!-- successful response -->             
<result method="folders.sendMail" status="ok">
    <id>$folder_id</id>
</result>    
 
<!-- failed response -->
<result method="folders.sendmail" status="fail">
        <error code="24" text="Email(s) are invalid"/>
        <id>$folder_id</id>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=folders.sendmail&session_key=9i96woykgory1crglmykgycjwa5k2cq2&folder_id=******&emails=webmasteratsendspacedotcom&message=check+this+folder


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
24 API_ERROR_INVALID_EMAIL Email(s) are invalid

Address Book

Method: addressbook.list

Description
Gets entire addressbook information
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
Returns
List of emails
Response
 
<!-- successful response -->
<result method="addressbook.list" status="ok">
    <contact email="" name="" description="" type="0/1 - 0 = added by user, 1 = collected"/>
    .
    .
    <contact email="" name="" description="" type="0/1 - 0 = added by user, 1 = collected"/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=addressbook.list&session_key=9i96woykgory1crglmykgycjwa5k2cq2


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found

Method: addressbook.add

Description
Add entry to addressbook
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
email Yes Contact email
name No Contact name
description No Description of contact
type No 0 = added by user, 1 = collected
Returns
New contact information
Response
 
<!-- successful response -->
<result method="addressbook.add" status="ok">
    <contact email="" name="" description="" type="0/1 - 0 = added by user, 1 = collected"/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=addressbook.add&session_key=9i96woykgory1crglmykgycjwa5k2cq2&email=test@test.com&name=test+test&description=friend&type=0


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
24 API_ERROR_INVALID_EMAIL Email(s) are invalid
28 API_ERROR_CONTACT_EXISTS Contact already exist
32 API_ERROR_CONTACTS_LIMIT Reached contacts limit. Please free up unused contacts and try again.

Method: addressbook.update

Description
Update details of a specific addressbook entry
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
email Yes Contact email. cannot be changed. for changing need to use add
name No Only use if you want to change data. Sending empty will clear existing data.
description No Only use if you want to change data. Sending empty will clear existing data.
type No 0 = added by user, 1 = collected
Returns
Current contact details
Response
 
<!-- successful response -->
<result method="addressbook.update" status="ok">
    <contact email="" name="" description="" type="0/1 - 0 = added by user, 1 = collected"/>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=addressbook.update&session_key=9i96woykgory1crglmykgycjwa5k2cq2&email=test@test.com&name=tester+tester


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
29 API_ERROR_CONTACT_NOT_EXISTS Contact doesn't exist

Method: addressbook.delete

Description
Delete contacts, searching by email address, can receive list of email addresses
Arguments
Name Mandatory Description
session_key Yes Received from auth.login
email Yes Contact email. cannot be changed. for changing need to use add
Returns
Contact email address if operation was successful
Response
 
<!-- successful response -->
<result method="addressbook.delete" status="ok">
    <email>$email</email>
</result>


Usage Example
 
http://api.sendspace.com/rest/?method=addressbook.delete&session_key=9i96woykgory1crglmykgycjwa5k2cq2&email=test@test.com,test2@test.com


Possible Errors
Code Name Description
6 API_ERROR_SESSION_BAD Session expired or not found
29 API_ERROR_CONTACT_NOT_EXISTS Contact doesn't exist

Errors

Code Name Description
1 API_ERROR_NO_METHOD No method parameter in request
2 API_ERROR_UNKNOWN_METHOD Unknown method
3 API_ERROR_SESSION_KEY_MISSING Session key parameter missing
4 API_ERROR_PARAMETER_MISSING Method parameter(s) missing
5 API_ERROR_BAD_API_VERSION Unknown or unsupported API version
6 API_ERROR_SESSION_BAD Session expired or not found
7 API_ERROR_SESSION_NOT_AUTH Session not authenticated
8 API_ERROR_AUTHENTICATION_FAILURE Authentication error
9 API_ERROR_FILE_NOT_FOUND File not found
10 API_ERROR_FOLDER_NOT_FOUND Folder not found
11 API_ERROR_PERMISSION_DENIED Permission denied
12 API_ERROR_DOWNLOAD_TEMP_ERROR Download is temporarily unavailable
13 API_ERROR_UPLOAD_TEMP_ERROR Upload is temporarily unavailable
14 API_ERROR_FOLDER_NOT_EMPTY Folder is not empty
15 API_ERROR_SYSTEM_MAINTENANCE System maintenance, try again later
16 API_ERROR_INVALID_PARAMETER One of the parameters is invalid
17 API_ERROR_HTTPS_FORBIDDEN HTTPS is forbidden for current user
18 API_ERROR_UNKNOWN_API_KEY Unknown API key sent
19 API_ERROR_PRO_EXPIRED Pro user, account expired
20 API_ERROR_PRO_DISKSPACE_LIMIT Pro user, reached disk space limit
21 API_ERROR_PARAMETER_BAD_VALUE One of the parameter values is invalid
22 API_ERROR_BAD_PASSWORD A wrong or empty password was given
23 API_ERROR_BANDWIDTH_LIMIT Account bandwidth limit reached
24 API_ERROR_INVALID_EMAIL Email(s) are invalid
25 API_ERROR_OUTDATED_VERSION The application version you are using is too old. Please upgrade it.
26 API_ERROR_INVALID_FILE_URL Not a sendspace download URL (must start with http://www.sendspace.com/ and contain a 6 character link)
27 API_ERROR_REGISTRATION_ERROR * A specific text message will be sent according to the error *
28 API_ERROR_CONTACT_EXISTS Contact already exist
29 API_ERROR_CONTACT_NOT_EXISTS Contact doesn't exist
30 API_ERROR_TOO_MANY_SESSIONS Too many sessions open for your user account. Please close previous sessions.
31 API_ERROR_BAD_TARGET_FOLDER Invalid target folder selected
32 API_ERROR_CONTACTS_LIMIT Reached contacts limit. Please free up unused contacts and try again.
33 API_ERROR_FOLDER_IS_PRIVATE Folder is private. Only the owner can view.