Skip to main content
FileFeed uses date-based API versions. Every entry below is a version you can pin to via the FileFeed-Version header. Existing integrations stay on their pinned version forever (until that version’s sunset date) — bumping is opt-in. See the API introduction for how versioning works and the migration guides below for upgrade walkthroughs.

2026-05-25  Latest

The “Connection” rename.

Added

  • New canonical endpoints under /connections/* mirroring the existing /clients/* routes one-for-one.
  • FileFeed-Version response header on every reply so clients can audit which shape the server applied.
  • Deprecation / Sunset / Link response headers on legacy /clients routes when accessed with this version (per RFC 8594 and draft-ietf-httpapi-deprecation-header).
  • @filefeed/sdk@2.0.0 published with:
    • filefeed.connections.* namespace
    • FileFeedConfig.apiVersion override
    • FileFeedConfig.onDeprecation callback
  • Outbound uploads accept outputFilename and outputFormat (csv | json | xml) to control the delivered file’s name and serialization.
  • Pipeline run status delivered — the terminal success state for outbound runs (output written to its destination). Inbound runs still use completed.
  • @filefeed/sdk@2.1.0: outbound output options, self-hosted SFTP connection fields, delivered status.
  • @filefeed/sdk@2.2.0: filefeed.connections.getByName(name) — resolve a connection (and its awsUserName) by its workspace-unique name.

Changed

  • The entity formerly called Client is now called Connection. The database row, IDs, and JSON shape are unchanged — only the name moved.
  • Connection names are unique per workspace.
  • TypeScript types Client, CreateClientParams, UpdateClientParams are now aliases for Connection, CreateConnectionParams, UpdateConnectionParams. Source-compatible — existing code keeps compiling.

Deprecated

  • HTTP: all /clients/* routes when called with FileFeed-Version: 2026-05-25. They keep working but emit Deprecation: true.
  • SDK: filefeed.clients.* methods. They proxy to connections.* and emit one warning per method per process.
  • Method rename: filefeed.clients.testConnection(id)filefeed.connections.test(id).

Security

  • Connection responses no longer return stored credentials (sftpPassword / sftpPrivateKey / sftpPassphrase / awsPassword). They are write-only: set via create/update, never read back.

Sunset

  • API version 2024-09-01 is scheduled for sunset on 2027-05-25.

Additive updates (no version bump)

These shipped within 2026-05-25 and are backwards compatible:
  • Outbound uploads accept connectionName (the connection’s human-readable name) on POST /outbound/uploads. Connection resolution now matches the connection name — the same path for hosted and self-hosted SFTP — so the name you created the connection with now works for self-hosted delivery. The legacy clientName field still works (resolved by name) but is deprecated; connectionName is also returned on the upload status response.
  • /pipelines and /pipeline-runs list endpoints accept a connectionName filter (alias of the deprecated clientName filter).
  • Fixed: outbound outputFormat: "csv" / "xml" without an explicit outputFilename now delivers the file in the requested format instead of silently falling back to JSON.
  • @filefeed/sdk@2.3.0 published with connectionName support.
  • Static-value field mappings. A pipeline field mapping can now be a static constant { target, value } (no source) that writes a fixed value into a column on every row, alongside the existing sourced { source, target, transform? } mappings. @filefeed/sdk@2.3.1.
  • Email connections. Create a connection with type: "EMAIL" to ingest files mailed as attachments to a dedicated inbound address (connection.emailInbox.inboundAddress). Configure emailAllowedFormats (required, non-empty), emailAllowedSenders, and emailSubjectFilter. Workspace registration is restricted to company email domains. @filefeed/sdk@2.4.0.
  • Documents API (/documents/*). A connection-scoped S3 file manager: browse, metadata, download, presigned single/multipart upload, folder create/move/rename, and object/folder/bulk delete. Pipeline-backed folders are protected (override requires force + admin).
  • Per-connection notification preferences (GET/PUT /notifications/preferences/:connectionId). Deliver PIPELINE_RUN_FAILED / PIPELINE_RUN_SUCCEEDED alerts over EMAIL / SLACK / SMS.
  • Direct file access. GET /files/json fetches a processed JSON file by name; POST /files/search searches rows across processed files.
  • Zapier pipeline-run subscriptions. POST/DELETE /webhooks/zapier/pipeline-run-events/{subscribe,unsubscribe} register a workspace-level PIPELINE_RUN_EVENT webhook for Zapier.
  • Schemas are defined by a JSON Schema definition object (the SDK’s legacy fields array is ignored by the API). Schema responses always include isActive. Webhook signing secrets are returned only once on create and never on reads.
  • @filefeed/sdk@2.5.0 published with the documents, notifications, and files resources, Zapier webhook methods, Schema.definition, Pipeline.webhooks, and PipelineRun.client / isPipelineDeleted.
  • Pipeline run delta. New endpoint GET /pipeline-runs/delta compares the processed files of two runs of the same pipeline (for example yesterday vs today) and returns the records added and removed, with summary counts and a paginated changes list. The diff is a whole-record set difference — there is no record-identity key, so a changed row appears as one removed plus one added. Available as filefeed.pipelineRuns.delta({ baseRunId, compareRunId }) in @filefeed/sdk@2.7.0.
  • Aggregated field mappings limited availability. A pipeline field mapping can now combine multiple source columns into one target — { sources, target, delimiter? } — joined in order by delimiter (default a single space), skipping empty values; a transform, if set, runs on the joined result. Provide sources instead of source, alongside the existing sourced and static-value mappings. Gated per workspace: until the feature is enabled for you, saving a pipeline that uses sources returns 400. Contact support@filefeed.io to enable it.
Read the migration guide →

2024-09-01  Deprecated · sunsets 2027-05-25

Baseline. This is the version every workspace was created on prior to the 2026-05-25 release. No prior changelog entries exist — this is the first version where date-based versioning was introduced; we backdated the baseline label to the date of GA so we have a coherent timeline.

Endpoints

  • /clients/*, /schemas/*, /pipelines/*, /pipeline-runs/*, /webhooks/*, /outbound/*

Sunset behaviour

On 2027-05-25, requests sent with FileFeed-Version: 2024-09-01 will receive 410 Gone:
{
  "error": "api_version_sunset",
  "message": "API version 2024-09-01 was sunset on 2027-05-25. Upgrade to 2026-05-25.",
  "migration_url": "https://docs.filefeed.io/migration/v1-to-v2"
}

Migration guides