Uploading photos and videos

To upload media to SmugMug, make an HTTP POST request to the Uploader API at http://upload.smugmug.com/. The Uploader API is different from the rest of the SmugMug API.

Authorization

The Uploader API accepts the same OAuth access tokens as the main API. However, the Uploader only supports receiving the OAuth parameters in the Authorization header, not in the query string or request body.

Headers

Required? Name Value See also
Content-Length The size of the media in bytes RFC 2616, section 14.13
Content-MD5 The MD5 digest of the media, base64-encoded RFC 2616, section 14.15
Content-Type The MIME type of the media RFC 2616, section 14.17
X X-Smug-AlbumUri The API URI of the target album Album endpoint reference
X-Smug-Altitude
X-Smug-Caption
X-Smug-FileName The name of the file being uploaded, if any
X-Smug-Hidden
X-Smug-ImageUri An existing image to replace with this upload Image endpoint reference
X-Smug-Keywords
X-Smug-Latitude
X-Smug-Longitude
X-Smug-Pretty
X X-Smug-ResponseType JSON or PHP other, deprecated options exist, one of which is the default
X-Smug-Title
X X-Smug-Version v2

The response with X-Smug-ResponseType: JSON

{
   "stat": "ok",
   "method": "smugmug.images.upload",
   "Image": {
      "ImageUri": "/api/v2/album/<key>/image/<key>-0",
      "AlbumImageUri": "/api/v2/album/<key>/image/<key>-0",
      "StatusImageReplaceUri": null,
      "URL": "http://example.smugmug.com/My-Gallery/i-<key>"
   }
}