mammoth-io · Schema

AutomationCreationSchema

Create automation

CompanyDataAnalyticsAutomationDashboardAI

Properties

Name Type Description
name string Name
description string Description
tasks array Tasks
conditions array Conditions
condition_mode string Condition Mode
View JSON Schema on GitHub

JSON Schema

mammoth-io-automation-creation-schema-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/mammoth-io/json-schema/mammoth-io-automation-creation-schema-schema.json",
  "title": "AutomationCreationSchema",
  "description": "Create automation",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mammoth-io-openapi.json#/components/schemas/AutomationCreationSchema",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "title": "Name",
      "description": "Name"
    },
    "description": {
      "type": "string",
      "title": "Description",
      "description": "Description"
    },
    "tasks": {
      "items": {
        "$ref": "#/$defs/AutomationTaskSchema"
      },
      "type": "array",
      "minItems": 1,
      "title": "Tasks",
      "description": "Tasks"
    },
    "conditions": {
      "items": {
        "$ref": "#/$defs/AutomationConditionSchema"
      },
      "type": "array",
      "title": "Conditions",
      "description": "Conditions",
      "default": []
    },
    "condition_mode": {
      "type": "string",
      "enum": [
        "and",
        "or"
      ],
      "title": "Condition Mode",
      "description": "Condition Mode",
      "default": "and"
    }
  },
  "type": "object",
  "required": [
    "description",
    "name",
    "tasks"
  ],
  "$defs": {
    "AutomationConditionSchema": {
      "properties": {
        "condition_type": {
          "type": "string",
          "enum": [
            "at_specific_time",
            "new_data_addition_in_folder",
            "run_config",
            "cloud_source_name_pattern"
          ],
          "title": "Condition Type",
          "description": "Condition Type"
        },
        "details": {
          "$ref": "#/$defs/automations_schema_ConditionSchema"
        }
      },
      "type": "object",
      "required": [
        "condition_type",
        "details"
      ],
      "title": "AutomationConditionSchema"
    },
    "AutomationTaskSchema": {
      "properties": {
        "task_type": {
          "type": [
            "null",
            "string"
          ],
          "enum": [
            "run_data_retrieval",
            "append_data",
            "send_an_alert",
            "pull_cloud_files",
            "apply_retention_policy",
            "run_exports",
            null
          ],
          "title": "Task type",
          "description": "Task type"
        },
        "details": {
          "oneOf": [
            {
              "$ref": "#/$defs/TaskDetailsSchema"
            },
            {
              "type": "null"
            }
          ],
          "title": "Details",
          "description": "Task Details"
        },
        "conditions": {
          "items": {
            "type": "object"
          },
          "type": "array",
          "title": "Conditions",
          "description": "Conditions",
          "default": []
        }
      },
      "type": "object",
      "required": [],
      "title": "AutomationTaskSchema"
    },
    "CloudSourceFolderPath": {
      "properties": {
        "id": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "id",
        "path"
      ],
      "title": "CloudSourceFolderPath"
    },
    "DataRefreshConfigSchema": {
      "properties": {
        "ds_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Dataset ID",
          "description": "Dataset ID"
        }
      },
      "type": "object",
      "required": [],
      "title": "DataRefreshConfigSchema"
    },
    "TaskDetailsSchema": {
      "properties": {
        "datasource_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Dataset ID",
          "description": "Dataset the retention policy applies to"
        },
        "rule_type": {
          "type": [
            "null",
            "string"
          ],
          "enum": [
            "time_based",
            "count_based",
            "condition_based",
            null
          ],
          "title": "Rule Type",
          "description": "Retention rule type"
        },
        "threshold_value": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "minimum": 1,
          "title": "Threshold Value",
          "description": "Number of minutes/hours/days/weeks/months for time-based rule"
        },
        "threshold_unit": {
          "type": [
            "null",
            "string"
          ],
          "enum": [
            "minutely",
            "hourly",
            "daily",
            "weekly",
            "monthly",
            "yearly",
            null
          ],
          "title": "Threshold Unit",
          "description": "Unit for threshold_value"
        },
        "keep_count": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "minimum": 1,
          "title": "Keep Count",
          "description": "Number of most-recent batches to keep for count-based rule"
        },
        "condition_sql": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Condition SQL",
          "description": "WHERE clause predicate for condition_based rule"
        },
        "intent": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Intent",
          "description": "Natural language description used to generate the condition_sql"
        },
        "notify": {
          "type": "boolean",
          "title": "Notify",
          "description": "Send notification when policy runs",
          "default": false
        },
        "notify_recipients": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "Notify Recipients",
          "description": "Email addresses to notify when policy runs or approval is requested"
        },
        "notify_trigger": {
          "type": "string",
          "enum": [
            "approval_and_policy_runs",
            "approval_only",
            "runs_only"
          ],
          "title": "Notify Trigger",
          "description": "When to send notifications: 'approval_and_policy_runs' sends on approval requests and policy runs, 'approval_only' sends only when approval is requested, 'runs_only' sends only when the policy runs (autonomous mode)",
          "default": "approval_and_policy_runs"
        },
        "require_approval": {
          "type": "boolean",
          "title": "Require Approval",
          "description": "Whether to require manual approval before deletion",
          "default": false
        },
        "action": {
          "type": "string",
          "enum": [
            "delete",
            "suspend"
          ],
          "title": "Action",
          "description": "Action to apply to matched batches: delete removes them, suspend hides them from views",
          "default": "delete"
        },
        "timezone": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Timezone",
          "description": "IANA timezone name for email notification timestamps (e.g. 'America/New_York')"
        },
        "connector_key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Connector Key",
          "description": "Cloud connector identifier (e.g. 'google_drive', 'sftp', 'dropbox')"
        },
        "connection_key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Connection Key",
          "description": "Identity key for the stored cloud connection credentials"
        },
        "connection_profile": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Connection Profile",
          "description": "Connection Profile"
        },
        "cloud_source_folder_path": {
          "oneOf": [
            {
              "$ref": "#/$defs/CloudSourceFolderPath"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Cloud Source Folder ID",
          "description": "Connector-specific folder identifier (Drive folder ID, SFTP path, GCS bucket/prefix, etc.)"
        },
        "destination_folder_resource_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Destination Folder Resource ID",
          "description": "Resource ID of the Mammoth folder where datasets will be created"
        },
        "trigger_ids": {
          "oneOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Export IDs",
          "description": "Export steps to send on this schedule (run_exports only)"
        },
        "ds_details": {
          "oneOf": [
            {
              "items": {
                "$ref": "#/$defs/DataRefreshConfigSchema"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Dataset Details",
          "description": "Dataset Details for automation task"
        },
        "id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Destination Dataset ID",
          "description": "Destination Dataset ID"
        },
        "destination_dataset_ids": {
          "oneOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Destination dataset ids",
          "description": "Destination dataset ids"
        },
        "destination_dataset_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Destination dataset id",
          "description": "Single destination dataset id (pdf_orchestration only — one destination has exactly one watched folder, never a list; see destination_dataset_ids for append_data's many-sources shape)"
        },
        "source_folder_resource_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Folder Resource ID",
          "description": "Source Folder Resource ID"
        },
        "source_top_level": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Top Level",
          "description": "Watch files uploaded at the project's top level, outside any folder"
        },
        "pdf_source_group_id": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "PDF Source Group ID",
          "description": "The tables kept from one PDF read: their datasets are the destinations, including ones still being made"
        },
        "source_dataset_id": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Dataset ID",
          "description": "Source Dataset ID"
        },
        "include_nested_folders": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Include Nested Folders",
          "description": "Include datasets from nested subfolders in source folder"
        },
        "alert_type": {
          "type": [
            "null",
            "string"
          ],
          "enum": [
            "email",
            null
          ],
          "title": "Alert Type",
          "description": "Alert type"
        },
        "message": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Message",
          "description": "Message"
        },
        "subject": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Subject",
          "description": "Subject"
        },
        "recipients": {
          "oneOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Recipients",
          "description": "Recipients"
        },
        "attachments": {
          "oneOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Attachments",
          "description": "Attachments"
        },
        "test_email": {
          "type": "boolean",
          "title": "Test Email",
          "description": "Test Email",
          "default": false
        }
      },
      "type": "object",
      "required": [],
      "title": "TaskDetailsSchema"
    },
    "UniqueSequenceCol": {
      "properties": {
        "c_name": {
          "type": "string",
          "description": "Unique Sequence Column Name"
        },
        "c_type": {
          "type": "string",
          "enum": [
            "numeric",
            "date"
          ],
          "description": "Data Type of the Unique Sequence Column"
        }
      },
      "type": "object",
      "required": [
        "c_name",
        "c_type"
      ],
      "title": "UniqueSequenceCol"
    },
    "automations_schema_ConditionSchema": {
      "properties": {
        "contains": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "File name contains",
          "description": "File name contains"
        },
        "starts_with": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Name Starts With",
          "description": "File name prefix to match (case-insensitive)"
        },
        "ends_with": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Name Ends With",
          "description": "File name suffix to match (case-insensitive)"
        },
        "exact_match_with": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Match exactly as given string",
          "description": "Match exactly as given string"
        },
        "include_subfolders": {
          "oneOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "type": "null"
            }
          ],
          "title": "Include subfolder",
          "description": "Include subfolders",
          "default": false
        },
        "all_files": {
          "oneOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "type": "null"
            }
          ],
          "title": "All files",
          "description": "All files",
          "default": false
        },
        "case_sensitive": {
          "oneOf": [
            {
              "type": "boolean",
              "default": false
            },
            {
              "type": "null"
            }
          ],
          "title": "Case Sensitive",
          "description": "Case Sensitive",
          "default": false
        },
        "interval": {
          "oneOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Interval",
          "description": "Interval"
        },
        "frequency": {
          "type": [
            "null",
            "string"
          ],
          "enum": [
            "minutely",
            "hourly",
            "daily",
            "weekly",
            "monthly",
            "yearly",
            null
          ],
          "title": "Frequency",
          "description": "Frequency"
        },
        "start_at": {
          "oneOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Start At",
          "description": "Start At"
        },
        "until": {
          "oneOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Until",
          "description": "Until"
        },
        "by_month_day": {
          "oneOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "By Month Day",
          "description": "By Month Day"
        },
        "by_week_day": {
          "oneOf": [
            {
              "items": {
                "type": "string",
                "enum": [
                  "mo",
                  "tu",
                  "we",
                  "th",
                  "fr",
                  "sa",
                  "su"
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "By Week Day",
          "description": "By Week Day"
        },
        "start_now": {
          "type": "boolean",
          "title": "Start now",
          "description": "start now/later",
          "default": true
        },
        "file_contains": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Name Contains",
          "description": "Name Contains"
        },
        "execution_mode": {
          "type": "string",
          "enum": [
            "parallel",
            "sequential"
          ],
          "title": "Execution Mode",
          "description": "Execution Mode for task",
          "default": "parallel"
        },
        "trigger_type": {
          "type": "string",
          "enum": [
            "manual",
            "schedule"
          ],
          "title": "Trigger Type",
          "description": "Execution trigger Type for automation",
          "default": "manual"
        },
        "on_refresh_action": {
          "type": "string",
          "enum": [
            "replace",
            "combine",
            "append"
          ],
          "description": "On Refresh Action",
          "default": "replace"
        },
        "unique_sequence_column": {
          "oneOf": [
            {
              "$ref": "#/$defs/UniqueSequenceCol"
            },
            {
              "type": "null"
            }
          ],
          "description": "Unique Sequence col name"
        }
      },
      "type": "object",
      "required": [],
      "title": "ConditionSchema"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/mammoth-io-automation-creation-schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.