---
title: "Duplicate a Multi FileFeed"
method: POST
path: "/v0/multi-file-feeds/{multi_file_feed_id}/duplicate"
tags: ["Multi FileFeeds"]
---

# Duplicate a Multi FileFeed

`POST /v0/multi-file-feeds/{multi_file_feed_id}/duplicate`

Duplicates a Multi FileFeed and returns the new Multi FileFeed. The copy includes both the builder (editable) version and the source's latest saved version, so the duplicate can run user imports immediately rather than only builder imports. The carried-over saved version's change history notes that it came from duplicating the source Multi FileFeed and when that source's latest version was saved.

## Path parameters

- `multi_file_feed_id` integer, required

## Request body

- object
  - `name` string, required — The name for the duplicated Multi FileFeed

## Response `200`

Successful response

- MultiFileFeed
  - `id` integer
  - `name` string
  - `folder_id` integer — ID of the folder containing this Multi FileFeed
  - `custom_metadata` object
  - `templates` MultiFileFeedTemplate[]
    - `name` string
    - `description` string
    - `key` string
    - `is_required` boolean — Whether this template is required for the Multi FileFeed
  - `source` union[]
    - union
      - SourceSftp
        - `type` 'sftp'
        - `data` object
          - `sftp_account_id` integer, required
          - `path` string, path, required
          - `options` object
            - `schedule` object
              - …
      - SourceS3
        - `type` 's3'
        - `data` object
          - `s3_account_id` integer, required
          - `bucket` string, required
          - `prefix` string, nullable — Key prefix within the bucket to scope listing/pulling to. Defaults to empty (whole bucket).
          - `file_filter` string, nullable — Optional regular expression applied to object keys. When set, only matching keys are ingested. Note: changing `file_filter` does not retroactively re-ingest objects that already passed the cursor watermark; only newly listed objects are evaluated against the new pattern. Changing `bucket` or `prefix`, by contrast, resets the cursor and dedupe ledger because they reference a different object namespace.
          - `options` object
            - `schedule` object
              - …
  - `destination` union[]
    - union
      - DestinationSftp
        - `type` 'sftp'
        - `data` object
          - `sftp_account_id` integer, required
          - `path` string, path, required
      - DestinationS3
        - `type` 's3'
        - `data` object
          - `s3_account_id` integer, required
          - `bucket` string, required
          - `prefix` string, nullable — Key prefix within the bucket. Output files are written to `{prefix}/{file_name}`. Defaults to empty (write to bucket root).
  - `event_webhooks` EventWebhook[]
    - `webhook_key` string — Unique key identifying the webhook
    - `events` string[] — List of event types the webhook is subscribed to
  - `post_validation_transform_key` string, nullable — Key of the post-validation transform applied to this Multi FileFeed

---

[API](https://skmtc.net/oneschema/apis/templates.md) · [All operations](https://skmtc.net/oneschema/apis/templates/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneschema/templates/revisions/40674aa6d4d9/schema)
