← All the API methods

Live testing

Upload a new file.

  • This method call must be authenticated and signed.
  • This method requires "write" permission on docs.


HTTP POSThttp://api.ipernity.com/api/upload.file


api_key Your api_key.
file The file data to import. Use a url-encoded post. Do not include this parameter when signing the query.
title The title for this document
description The description for this document. (You may use some HTML tags)
created_at Creation date. Override creation date from EXIF
license The license code for this document.
is_public Set to 1 to flag this document as public, 0 to make it private.
is_family Set to 1 to flag this document as family.
is_friend Set to 1 to flag this document as friend.
keywords Add some optional keyword tags.
album_id Add this doc to an album ID.
member_ids A comma separated list of user IDs. Add member tags to this doc.
perm_comment The permissions to comment on the document.
perm_tag The permissions to add a tag on the document.
perm_tagme The permissions to let a member add his personal member tag on the document.
lng Longitude of document, decimal form e.g. 43.6667. Override longitude from EXIF
lat Latitude of document, decimal form e.g. 6.9234. Override latitude from EXIF
dir Orientation of document. Override oritentation from EXIF.
  • 1 : Up orientation
  • 3 : Down (180° rotation)
  • 6 : Left orientation (90° counter clockwise)
  • 8 : Right orientation (90° clockwise)
async Wait (0) or don't wait (1) for doc to be complete
: this parameter is required.
You may try this method live without providing a file. We'll add a bulk file for you. To force creation of a doc without geolocation, set longitude and latitude to -999.



Once the upload is complete, use the upload.checkTickets method to check when the documents have been processed.

Error codes

1 File is missing or empty We could not find the file data.
2 File size exceeded limits The file size exeeded the acceptable size limits. See user.getQuota for more details.
3 File not accepted We could not accept this file because it's a less than 5k video/audio or an invalid torrent file.
4 User exceeded upload limits The user has uploaded too much this month. See user.getQuota for more details.

100 API Key is missing Please add the api_key parameter to this request.
101 API Key is invalid This API key is invalid or disabled.
102 Invalid format The requested format is invalid. Valid formats are : json, xml, php.
103 Method not found The requested method is invalid or missing.
104 Signature missing The query signature is missing.
105 Signature is invalid The query signature is invalid.
106 Token missing User is not logged. The authentication token is missing.
107 Token invalid The authentication token is invalid.
108 Account closed The user account is closed or suspended.
109 Action blocked This action is blocked because of a member or a group blocklist restriction
110 Insufficient permissions Insufficient permissions for this method.
111 IP not allowed The request came from a remote address not allowed by this application.
112 Application Quota Error The application has reached its requests quota.
113 Client IP Quota Error The client IP has reached a limit. Limits are based on requests per seconds, minutes, hours, ...
120 HTTP POST required This API method must be called using HTTP POST.
121 Invalid SOAP envelope The SOAP envelope could not be parsed.
122 Invalid XML-RPC envelope The XML-RPC envelope could not be parsed.
130 OAuth protocol version unsupported We only support OAuth version 1.1 and 1.1a
131 OAuth parameters are missing Some of the OAuth parameters were not sent: %s%
132 OAuth Clock skew The timestamp sent is out of ranges. Please check your computer clock is not skewed.
133 OAuth Nonce is invalid The OAuth Nonce parameter cannot be used twice.
134 OAuth Timestamp is invalid The OAuth Timestamp parameter is out of ranges (clock skew) or inferior to the previous timestamp sent.
135 OAuth Signature method unsupported The OAuth Signature must be either MD5, HMAC_SHA1 or PLAINTEXT over HTTPS.
500 Service error Service general error.
501 Maintenance mode Service under temporarily maintenance. Thank you for your kind understanding.
503 Service unavailable The service is temporarily unavailable. Please try again in a few minutes.


  • 2013-07-03: Added parameter 'async'.
  • 2013-03-01: Added parameters 'lng', 'lat', 'dir' and 'created_at'.
  • 2010-09-02: Added safety.
  • 2008-12-01: Method created.

See also