---
title: "Get list of automations"
method: GET
path: "/workspaces/{workspace_id}/projects/{project_id}/automations"
tags: ["Automations"]
---

# Get list of automations

`GET /workspaces/{workspace_id}/projects/{project_id}/automations`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/workspaces/{workspace_id}/projects/{project_id}/automations`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Get list of automations

## Path parameters

- `workspace_id` integer, required: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.
- `project_id` integer, required: Project ID of the workspace

## Query parameters

- `fields` string, nullable: Fields to be returned in a comma-separated format may include id, name, status_info, created_at.
- `id` string: Track multiple automation ids, comma separated
- `name` string, nullable: Track multiple automation names, comma separated
- `status` string, nullable: Track multiple automation statuses, comma separated
- `created_at` string, nullable: Track multiple automations, which falls under created_at date range
- `updated_at` string, nullable: Track multiple automations, which falls under updated_at date range
- `limit` integer: Max number of result to return
- `offset` integer: Distance from the beginning of the list of results
- `sort` string, nullable: Sort the automations based on the fields
- `task_type` string, nullable: Filter automations by task type. When omitted, retention policy automations are excluded by default.
- `dataset_id` integer, nullable: Filter automations whose task details reference this dataset ID. Must be used together with task_type.

## Response `200`

List automations

- AutomationsList
  - `automations` AutomationSchema[], required
    - `id` integer, nullable: Automation ID
    - `name` string, nullable: Automation Name
    - `description` string, nullable: Automation Description
    - `tasks` TaskSchema[], nullable: Automation Tasks
      - `task_type` string, required: Task type
      - `details` GetTaskSchema[], required: Task Details
        - `datasource_id` integer, nullable: Dataset the retention policy applies to
        - `rule_type` 'time_based' | 'count_based' | 'condition_based' | 'null', nullable: Retention rule type
        - `threshold_value` integer, nullable: Number of minutes/hours/days/weeks/months for time-based rule
        - `threshold_unit` 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: Unit for threshold_value
        - `keep_count` integer, nullable: Number of most-recent batches to keep for count-based rule
        - `condition_sql` string, nullable: WHERE clause predicate for condition_based rule
        - `intent` string, nullable: Natural language description used to generate the condition_sql
        - `notify` boolean: Send notification when policy runs
        - `notify_recipients` string[]: Email addresses to notify when policy runs or approval is requested
        - `notify_trigger` 'approval_and_policy_runs' | 'approval_only' | 'runs_only': 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)
        - `require_approval` boolean: Whether to require manual approval before deletion
        - `action` 'delete' | 'suspend': Action to apply to matched batches: delete removes them, suspend hides them from views
        - `timezone` string, nullable: IANA timezone name for email notification timestamps (e.g. 'America/New_York')
        - `connector_key` string, nullable: Cloud connector identifier (e.g. 'google_drive', 'sftp', 'dropbox')
        - `connection_key` string, nullable: Identity key for the stored cloud connection credentials
        - `connection_profile` union: Connection Profile
          - string
          - string[]
        - `cloud_source_folder_path` union: Connector-specific folder identifier (Drive folder ID, SFTP path, GCS bucket/prefix, etc.)
          - CloudSourceFolderPath
            - `id` string, required
            - `path` string, required
          - string
        - `destination_folder_resource_id` integer, nullable: Resource ID of the Mammoth folder where datasets will be created
        - `id` integer, required: Automation task ID
        - `ds_details` DataRefreshConfigSchema
          - `ds_id` integer, nullable: Dataset ID
        - `destination_dataset_ids` integer[], nullable: Destination Dataset IDs
        - `destination_dataset_id` integer, nullable: Destination Dataset ID (pdf_orchestration only)
        - `source_folder_resource_id` integer, nullable: Source Folder Resource ID
        - `source_dataset_id` integer, nullable: Source Dataset ID
        - `status` string, required: Status
        - `last_run` string, date-time, nullable: Last Run
        - `last_run_result` object, nullable: Last Run Result
        - `alert_type` 'email' | 'null', nullable: Alert type
        - `message` string, nullable: Message
        - `subject` string, nullable: Subject
        - `recipients` string[], nullable: Recipients
        - `attachments` object, nullable: Attachments
      - `conditions` GetConditionSchema[], nullable: Task-level conditions (e.g. cloud_source_name_pattern for pull_cloud_files tasks)
        - `condition_type` string, required: Condition type
        - `details` GetConditionDetailsSchema, required: Condition Details
          - `contains` string, nullable: File name contains
          - `starts_with` string, nullable: File name prefix to match (case-insensitive)
          - `ends_with` string, nullable: File name suffix to match (case-insensitive)
          - `exact_match_with` string, nullable: Match exactly as given string
          - `include_subfolders` boolean, nullable: Include subfolders
          - `all_files` boolean, nullable: All files
          - `case_sensitive` boolean, nullable: Case Sensitive
          - `frequency` 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: Frequency
          - `interval` integer, nullable: Interval
          - `start_at` string, date-time, nullable: Start At
          - `until` string, date-time, nullable: Until
          - `by_month_day` integer[], nullable: By Month Day
          - `by_week_day` string[], nullable: By Week Day
          - `start_now` boolean, nullable: start now/later
          - `file_contains` string, nullable: Name Contains
          - `execution_mode` 'parallel' | 'sequential' | 'null', nullable: Task Execution Mode
          - `trigger_type` 'manual' | 'schedule' | 'null', nullable: Trigger Type for automation
        - `condition_mode` string, nullable: Condition Mode
      - `recurrence_details` object[], nullable: Recurrence Details
    - `conditions` GetConditionSchema[], nullable: Conditions
      - `condition_type` string, required: Condition type
      - `details` GetConditionDetailsSchema, required: Condition Details
        - `contains` string, nullable: File name contains
        - `starts_with` string, nullable: File name prefix to match (case-insensitive)
        - `ends_with` string, nullable: File name suffix to match (case-insensitive)
        - `exact_match_with` string, nullable: Match exactly as given string
        - `include_subfolders` boolean, nullable: Include subfolders
        - `all_files` boolean, nullable: All files
        - `case_sensitive` boolean, nullable: Case Sensitive
        - `frequency` 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: Frequency
        - `interval` integer, nullable: Interval
        - `start_at` string, date-time, nullable: Start At
        - `until` string, date-time, nullable: Until
        - `by_month_day` integer[], nullable: By Month Day
        - `by_week_day` string[], nullable: By Week Day
        - `start_now` boolean, nullable: start now/later
        - `file_contains` string, nullable: Name Contains
        - `execution_mode` 'parallel' | 'sequential' | 'null', nullable: Task Execution Mode
        - `trigger_type` 'manual' | 'schedule' | 'null', nullable: Trigger Type for automation
      - `condition_mode` string, nullable: Condition Mode
    - `condition_mode` string, nullable: Mode of Condition
    - `created_at` string, date-time, nullable: Created At
    - `created_by` integer, nullable: Created By
    - `updated_at` string, date-time, nullable: Updated At
    - `updated_by` integer, nullable: Updated By
    - `status` 'active' | 'suspended' | 'failed' | 'null', nullable: Status
    - `execution_status` 'idle' | 'running' | 'null', nullable: Running status of automation tasks — 'running' if any task is queued or running, 'idle' otherwise
  - `limit` integer
  - `offset` integer
  - `next` string, required

## Other responses

- `400`: Bad Request
- `401`: Authorization error
- `403`: Request forbidden -- authorization will not help

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/5dfd1c296ded?raw)
