All integrations

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_v2READ

Get the API service document. API Version 2. GET /api/v2.

Permissions=Read
smugmug_get_api_v2_album_by_albumkeyREAD

Get an album. Album by key. GET /api/v2/album/{albumKey}.

Access=PublicPermissions=Read
smugmug_get_api_v2_album_by_albumkey_image_by_imagekeyREAD

Get 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_authuserREAD

Get 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_folder_user_by_nicknameREAD

Get a user's root folder. A folder or legacy (sub)category by UrlPath. GET /api/v2/folder/user/{nickname}.

Access=PublicPermissions=Read
smugmug_get_api_v2_folder_user_by_nickname_by_urlpathREAD

Get 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).

Access=PublicPermissions=Read
smugmug_get_api_v2_folder_user_by_nickname_by_urlpath_albumsREAD

List 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_folder_user_by_nickname_foldersREAD

List 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_highlight_node_by_nodeidREAD

Get a node's highlight image. Highlight image for a folder, album, or page. GET /api/v2/highlight/node/{nodeId}.

Access=PublicPermissions=Read
smugmug_get_api_v2_image_by_imagekeyREAD

Get 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_nicknameurlpathlookupREAD

Look 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeidREAD

Get a node. Node with the given id. GET /api/v2/node/{nodeId}.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_childrenREAD

List a node's children. Child nodes of the given node. GET /api/v2/node/{nodeId}!children.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_commentsREAD

List a node's comments. Comments on a Node. GET /api/v2/node/{nodeId}!comments.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_coverREAD

Get a node's cover image. Cover image for a folder, album, or page. GET /api/v2/node/{nodeId}!cover.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_parentREAD

Get 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).

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_parentsREAD

List a node's ancestors. Hierarchy of nodes from the given node (inclusive) to the root node. GET /api/v2/node/{nodeId}!parents.

Access=PublicPermissions=Read
smugmug_get_api_v2_node_by_nodeid_pricelistREAD

Get a node's pricelist. Get, update, or remove the pricelist mapped to this node. GET /api/v2/node/{nodeId}!pricelist.

Access=PublicPermissions=Read
smugmug_get_api_v2_siteuserREAD

Get 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nicknameREAD

Get a user. User By Nickname. GET /api/v2/user/{nickname}.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_albumsREAD

List a user's albums. All of user's albums. GET /api/v2/user/{nickname}!albums.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_bioimageREAD

Get a user's bio image. User BioImage. GET /api/v2/user/{nickname}!bioimage.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_communitiesREAD

List 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_coverimageREAD

Get a user's cover image. User CoverImage. GET /api/v2/user/{nickname}!coverimage.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_featuredalbumsREAD

List a user's featured albums. User's featured albums. GET /api/v2/user/{nickname}!featuredalbums.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_featuresREAD

Get a user's account features. User's account features information. GET /api/v2/user/{nickname}!features.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_geomediaREAD

List 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."

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_imagesearchREAD

Search 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_popularmediaREAD

List 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."

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_profileREAD

Get a user's profile. User's profile information. GET /api/v2/user/{nickname}!profile.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_recentimagesREAD

List a user's recent images. User's recent images. GET /api/v2/user/{nickname}!recentimages.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_sitesettingsREAD

Get a user's site settings. User site settings. GET /api/v2/user/{nickname}!sitesettings.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_topkeywordsREAD

List a user's top keywords. User's top keywords. GET /api/v2/user/{nickname}!topkeywords.

Access=PublicPermissions=Read
smugmug_get_api_v2_user_by_nickname_urlpathlookupREAD

Look 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.

Access=PublicPermissions=Read
smugmug_get_api_v2_weburilookupREAD

Look 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.

Access=PublicPermissions=Read
smugmug_options_api_v2READ

Describe 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.

Permissions=Read

Put SmugMug behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.