{
  "service": "smugmug",
  "displayName": "SmugMug",
  "categories": [
    "Design",
    "Storage"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "smugmug_api_key",
      "description": "SmugMug API key used for public API access via the APIKey query parameter. Request it here: https://api.smugmug.com/api/developer/apply",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.smugmug.com",
  "actions": [
    {
      "id": "smugmug.get_album",
      "service": "smugmug",
      "name": "get_album",
      "description": "Retrieve a SmugMug album by key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug album key."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "album": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug album object."
          }
        },
        "additionalProperties": false,
        "required": [
          "album"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_album_highlight_image",
      "service": "smugmug",
      "name": "get_album_highlight_image",
      "description": "Retrieve the highlight image for a SmugMug album.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug album key."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "highlightImage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image object."
          }
        },
        "additionalProperties": false,
        "required": [
          "highlightImage"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_album_image",
      "service": "smugmug",
      "name": "get_album_image",
      "description": "Retrieve a SmugMug album image relationship.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug album key."
          },
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug image key."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumKey",
          "imageKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "albumImage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image object."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumImage"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_album_images",
      "service": "smugmug",
      "name": "get_album_images",
      "description": "List images in a SmugMug album.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "albumKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug album key."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of results to return per page."
          },
          "start": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based start index for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumKey"
        ],
        "description": "Input for listing album images."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "albumImages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug image object."
            },
            "description": "Album images returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "albumImages",
          "pages"
        ],
        "description": "A paged SmugMug albumImages response."
      }
    },
    {
      "id": "smugmug.get_folder_albums",
      "service": "smugmug",
      "name": "get_folder_albums",
      "description": "List albums below a SmugMug folder path.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          },
          "folderPath": {
            "type": "string",
            "description": "The folder path relative to the user's root folder."
          },
          "folderId": {
            "type": "string",
            "description": "Optional folder ID to assert against the resolved folder."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Input for resolving a user folder by path."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "albums": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug album object."
            },
            "description": "Albums returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "albums",
          "pages"
        ],
        "description": "A paged SmugMug albums response."
      }
    },
    {
      "id": "smugmug.get_folder_by_user_path",
      "service": "smugmug",
      "name": "get_folder_by_user_path",
      "description": "Resolve a SmugMug folder by user nickname and path.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          },
          "folderPath": {
            "type": "string",
            "description": "The folder path relative to the user's root folder."
          },
          "folderId": {
            "type": "string",
            "description": "Optional folder ID to assert against the resolved folder."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Input for resolving a user folder by path."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folder": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug folder object."
          }
        },
        "additionalProperties": false,
        "required": [
          "folder"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_folder_details",
      "service": "smugmug",
      "name": "get_folder_details",
      "description": "Retrieve details for a SmugMug folder node.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug node ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodeId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folder": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug folder object."
          }
        },
        "additionalProperties": false,
        "required": [
          "folder"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_folder_subfolders",
      "service": "smugmug",
      "name": "get_folder_subfolders",
      "description": "List subfolders below a SmugMug folder path.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          },
          "folderPath": {
            "type": "string",
            "description": "The folder path relative to the user's root folder."
          },
          "folderId": {
            "type": "string",
            "description": "Optional folder ID to assert against the resolved folder."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Input for resolving a user folder by path."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "folders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug folder object."
            },
            "description": "Subfolders returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "folders",
          "pages"
        ],
        "description": "A paged SmugMug folders response."
      }
    },
    {
      "id": "smugmug.get_image",
      "service": "smugmug",
      "name": "get_image",
      "description": "Retrieve a SmugMug image by key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug image key."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "image": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image object."
          }
        },
        "additionalProperties": false,
        "required": [
          "image"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_image_metadata",
      "service": "smugmug",
      "name": "get_image_metadata",
      "description": "Retrieve metadata for a SmugMug image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug image key."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "imageMetadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image metadata object."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageMetadata"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_image_size_details",
      "service": "smugmug",
      "name": "get_image_size_details",
      "description": "Retrieve full image size details for a SmugMug image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug image key."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "imageSizeDetails": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The full SmugMug image size details payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageSizeDetails"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_image_sizes",
      "service": "smugmug",
      "name": "get_image_sizes",
      "description": "List direct image size URLs for a SmugMug image.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageKey": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug image key."
          }
        },
        "additionalProperties": false,
        "required": [
          "imageKey"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "usableSizes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "The usable SmugMug image size buckets."
          },
          "sizes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The SmugMug size bucket name."
                },
                "url": {
                  "type": "string",
                  "description": "The direct URL for this image size."
                },
                "width": {
                  "type": "integer",
                  "description": "The width in pixels."
                },
                "height": {
                  "type": "integer",
                  "description": "The height in pixels."
                },
                "size": {
                  "type": "integer",
                  "description": "The asset size in bytes."
                },
                "ext": {
                  "type": "string",
                  "description": "The file extension for this image size."
                },
                "md5": {
                  "type": "string",
                  "description": "The MD5 checksum for this image size."
                }
              },
              "additionalProperties": true,
              "description": "A summarized SmugMug image size entry."
            },
            "description": "Summarized image size entries."
          }
        },
        "additionalProperties": false,
        "required": [
          "usableSizes",
          "sizes"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_node_highlight_image",
      "service": "smugmug",
      "name": "get_node_highlight_image",
      "description": "Retrieve the highlight image for a SmugMug node.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug node ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodeId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "highlightImage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image object."
          }
        },
        "additionalProperties": false,
        "required": [
          "highlightImage"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_node_parent",
      "service": "smugmug",
      "name": "get_node_parent",
      "description": "Retrieve the parent node for a SmugMug node.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug node ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodeId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "parentNode": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug node object."
          }
        },
        "additionalProperties": false,
        "required": [
          "parentNode"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_node_parents",
      "service": "smugmug",
      "name": "get_node_parents",
      "description": "List all parent nodes for a SmugMug node.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug node ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodeId"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "parentNodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug node object."
            },
            "description": "Parent nodes returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "parentNodes",
          "pages"
        ],
        "description": "A paged SmugMug parentNodes response."
      }
    },
    {
      "id": "smugmug.get_user",
      "service": "smugmug",
      "name": "get_user",
      "description": "Retrieve a SmugMug user by nickname.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug user object."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_user_bio_image",
      "service": "smugmug",
      "name": "get_user_bio_image",
      "description": "Retrieve the biography image for a SmugMug user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "bioImage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug image object."
          }
        },
        "additionalProperties": false,
        "required": [
          "bioImage"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_user_featured_albums",
      "service": "smugmug",
      "name": "get_user_featured_albums",
      "description": "List featured albums for a SmugMug user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "featuredAlbums": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug album object."
            },
            "description": "Featured albums returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "featuredAlbums",
          "pages"
        ],
        "description": "A paged SmugMug featuredAlbums response."
      }
    },
    {
      "id": "smugmug.get_user_features",
      "service": "smugmug",
      "name": "get_user_features",
      "description": "Retrieve the feature and entitlement map for a SmugMug user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "features": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The SmugMug user feature map."
          }
        },
        "additionalProperties": false,
        "required": [
          "features"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_user_profile",
      "service": "smugmug",
      "name": "get_user_profile",
      "description": "Retrieve the public profile for a SmugMug user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "userProfile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug user profile object."
          }
        },
        "additionalProperties": false,
        "required": [
          "userProfile"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.get_user_root_node",
      "service": "smugmug",
      "name": "get_user_root_node",
      "description": "Retrieve the root node for a SmugMug user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname"
        ],
        "description": "Action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rootNode": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A SmugMug node object."
          }
        },
        "additionalProperties": false,
        "required": [
          "rootNode"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "smugmug.list_child_nodes",
      "service": "smugmug",
      "name": "list_child_nodes",
      "description": "List child nodes below a SmugMug node.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug node ID."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of results to return per page."
          },
          "start": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based start index for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodeId"
        ],
        "description": "Input for listing child nodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug node object."
            },
            "description": "Child nodes returned by SmugMug."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "nodes",
          "pages"
        ],
        "description": "A paged SmugMug nodes response."
      }
    },
    {
      "id": "smugmug.search_user_content",
      "service": "smugmug",
      "name": "search_user_content",
      "description": "Search images in a SmugMug user's public content.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "minLength": 1,
            "description": "The SmugMug nickname of the user."
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The search query."
          },
          "order": {
            "type": "string",
            "enum": [
              "LastUpdated",
              "DateAdded",
              "DateTaken"
            ],
            "description": "The SmugMug search sort order."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of results to return per page."
          },
          "start": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based start index for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "nickname",
          "query"
        ],
        "description": "Input for searching SmugMug user content."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "images": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A SmugMug image object."
            },
            "description": "Image search results."
          },
          "pages": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "start": {
                "type": "integer",
                "description": "The 1-based start index of the current page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of available items."
              },
              "firstPage": {
                "type": "string",
                "description": "The API URI for the first page of results."
              },
              "prevPage": {
                "type": "string",
                "description": "The API URI for the previous page of results."
              },
              "nextPage": {
                "type": "string",
                "description": "The API URI for the next page of results."
              },
              "lastPage": {
                "type": "string",
                "description": "The API URI for the last page of results."
              },
              "requestedCount": {
                "type": "integer",
                "description": "The number of items that were requested."
              }
            },
            "additionalProperties": true,
            "description": "The SmugMug pagination metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "images",
          "pages"
        ],
        "description": "A paged SmugMug images response."
      }
    }
  ]
}
