SmugMug
DOCS & KNOWLEDGE · FILES & DOCS
Galleries, folders, albums, and images in the SmugMug account they connected.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
smugmug_get_api_v2READGet the API service document. API Version 2. GET /api/v2.
smugmug_get_api_v2_album_by_albumkeyREADGet an album. Album by key. GET /api/v2/album/{albumKey}.
smugmug_get_api_v2_album_by_albumkey_image_by_imagekeyREADGet an image in an album. Image from album. GET /api/v2/album/{albumKey}/image/{imageKey}. imageKey must carry the serial suffix SmugMug's own Uri uses (fgGLSmh-0), not the bare ImageKey field an album listing shows (fgGLSmh): measured 2026-09-17, the bare form answers 301 to the suffixed one, and this integration does not follow redirects.
smugmug_get_api_v2_authuserREADGet the authenticated user. Currently authenticated user. GET /api/v2!authuser. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug.
smugmug_get_api_v2_folder_user_by_nicknameREADGet a user's root folder. A folder or legacy (sub)category by UrlPath. GET /api/v2/folder/user/{nickname}.
smugmug_get_api_v2_folder_user_by_nickname_by_urlpathREADGet a folder. A folder or legacy (sub)category by UrlPath. GET /api/v2/folder/user/{nickname}/{urlPath}. urlPath is the site-relative folder path WITHOUT its leading slash, and it may contain slashes of its own: Family and Family/Photos are both valid and both answer 200 (measured 2026-09-17).
smugmug_get_api_v2_folder_user_by_nickname_by_urlpath_albumsREADList a folder's albums. Albums inside of the folder. GET /api/v2/folder/user/{nickname}/{urlPath}!albums. Lists the albums directly inside that folder, not the ones in its subfolders: measured 2026-09-17, Family answered with none and Family/Photos answered with 68.
smugmug_get_api_v2_folder_user_by_nickname_foldersREADList the root folder's subfolders. Folders inside of the folder. GET /api/v2/folder/user/{nickname}!folders. Lists the subfolders of the account's ROOT folder only. There is no GET for the subfolders of a nested folder in SmugMug's published surface; list a nested folder's contents with smugmug_get_api_v2_node_by_nodeid_children instead, which returns folders, albums and pages together and takes a Type filter.
smugmug_get_api_v2_highlight_node_by_nodeidREADGet a node's highlight image. Highlight image for a folder, album, or page. GET /api/v2/highlight/node/{nodeId}.
smugmug_get_api_v2_image_by_imagekeyREADGet an image. Image by key. GET /api/v2/image/{imageKey}. imageKey must carry the serial suffix SmugMug's own Uri uses (fgGLSmh-0), not the bare ImageKey field an album listing shows (fgGLSmh): measured 2026-09-17, the bare form answers 301 to the suffixed one, and this integration does not follow redirects, so a bare key surfaces as a redirect error rather than as data. Take the value from the AlbumImage's Uri.
smugmug_get_api_v2_nicknameurlpathlookupREADLook up a node by nickname and URL path. Lookup folder, album, or page by user nickname and path. GET /api/v2!nicknameurlpathlookup. Both nickname and urlpath are REQUIRED: measured 2026-09-17, a call without them answers 200 with an empty envelope rather than an error. urlpath is the site-relative path, e.g. /Travel.
smugmug_get_api_v2_node_by_nodeidREADGet a node. Node with the given id. GET /api/v2/node/{nodeId}.
smugmug_get_api_v2_node_by_nodeid_childrenREADList a node's children. Child nodes of the given node. GET /api/v2/node/{nodeId}!children.
smugmug_get_api_v2_node_by_nodeid_commentsREADList a node's comments. Comments on a Node. GET /api/v2/node/{nodeId}!comments.
smugmug_get_api_v2_node_by_nodeid_coverREADGet a node's cover image. Cover image for a folder, album, or page. GET /api/v2/node/{nodeId}!cover.
smugmug_get_api_v2_node_by_nodeid_parentREADGet a node's parent. Parent node of the given node. GET /api/v2/node/{nodeId}!parent. The account's ROOT node has no parent and answers 404; every other node answers 200 (measured 2026-09-17 on both).
smugmug_get_api_v2_node_by_nodeid_parentsREADList a node's ancestors. Hierarchy of nodes from the given node (inclusive) to the root node. GET /api/v2/node/{nodeId}!parents.
smugmug_get_api_v2_node_by_nodeid_pricelistREADGet a node's pricelist. Get, update, or remove the pricelist mapped to this node. GET /api/v2/node/{nodeId}!pricelist.
smugmug_get_api_v2_siteuserREADGet the site's owner. Owner of the current domain name. GET /api/v2!siteuser. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug.
smugmug_get_api_v2_user_by_nicknameREADGet a user. User By Nickname. GET /api/v2/user/{nickname}.
smugmug_get_api_v2_user_by_nickname_albumsREADList a user's albums. All of user's albums. GET /api/v2/user/{nickname}!albums.
smugmug_get_api_v2_user_by_nickname_bioimageREADGet a user's bio image. User BioImage. GET /api/v2/user/{nickname}!bioimage.
smugmug_get_api_v2_user_by_nickname_communitiesREADList a user's communities. User's communities. GET /api/v2/user/{nickname}!communities. NOT AVAILABLE on this connection's credential -- calling it returns a refusal that says why, and sends nothing to SmugMug.
smugmug_get_api_v2_user_by_nickname_coverimageREADGet a user's cover image. User CoverImage. GET /api/v2/user/{nickname}!coverimage.
smugmug_get_api_v2_user_by_nickname_featuredalbumsREADList a user's featured albums. User's featured albums. GET /api/v2/user/{nickname}!featuredalbums.
smugmug_get_api_v2_user_by_nickname_featuresREADGet a user's account features. User's account features information. GET /api/v2/user/{nickname}!features.
smugmug_get_api_v2_user_by_nickname_geomediaREADList a user's geotagged media. Geotagged images for user. GET /api/v2/user/{nickname}!geomedia. SmugMug's own note on this endpoint: "This response may lag with respect to images being added or deleted for a User."
smugmug_get_api_v2_user_by_nickname_imagesearchREADSearch a user's images. Search for user images. GET /api/v2/user/{nickname}!imagesearch. q is REQUIRED although the endpoint does not say so by failing: measured 2026-09-17, a call without it answers 200 with zero results rather than an error, while q=sunset returned 10 of 11 pages of matches. Searches only what the account has made public.
smugmug_get_api_v2_user_by_nickname_popularmediaREADList a user's popular media. User's popular images. GET /api/v2/user/{nickname}!popularmedia. SmugMug's own note on this endpoint: "This response may lag with respect to images being added or deleted for a User."
smugmug_get_api_v2_user_by_nickname_profileREADGet a user's profile. User's profile information. GET /api/v2/user/{nickname}!profile.
smugmug_get_api_v2_user_by_nickname_recentimagesREADList a user's recent images. User's recent images. GET /api/v2/user/{nickname}!recentimages.
smugmug_get_api_v2_user_by_nickname_sitesettingsREADGet a user's site settings. User site settings. GET /api/v2/user/{nickname}!sitesettings.
smugmug_get_api_v2_user_by_nickname_topkeywordsREADList a user's top keywords. User's top keywords. GET /api/v2/user/{nickname}!topkeywords.
smugmug_get_api_v2_user_by_nickname_urlpathlookupREADLook up one of a user's nodes by URL path. Lookup user's folder, album, or page by path. GET /api/v2/user/{nickname}!urlpathlookup. urlpath is REQUIRED: measured 2026-09-17, a call without it answers 200 with an empty envelope rather than an error. It is the site-relative path, e.g. /Travel.
smugmug_get_api_v2_weburilookupREADLook up a node by its web address. Lookup folder, album, image (with an album context) or page by WebUri. GET /api/v2!weburilookup. WebUri is REQUIRED although the endpoint does not say so by failing: measured 2026-09-17, a call without it answers 200 with an empty envelope rather than an error. Pass a SmugMug web address such as https://cmac.smugmug.com or https://cmac.smugmug.com/Travel.
smugmug_options_api_v2READDescribe the API service document. API Version 2. OPTIONS /api/v2. This is an HTTP OPTIONS call, and on SmugMug that is a documentation request rather than a CORS preflight: the reply describes the endpoint -- which methods it will serve THIS credential, what Permissions level each one costs, the query parameters each takes with their enum options and defaults, and the media types and response levels available. Useful for discovering what the connection can actually do before trying it.
Often connected alongside
Put SmugMug behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.