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-Versionresponse header on every reply so clients can audit which shape the server applied.Deprecation/Sunset/Linkresponse headers on legacy/clientsroutes when accessed with this version (per RFC 8594 and draft-ietf-httpapi-deprecation-header).@filefeed/sdk@2.0.0published with:filefeed.connections.*namespaceFileFeedConfig.apiVersionoverrideFileFeedConfig.onDeprecationcallback
- Outbound uploads accept
outputFilenameandoutputFormat(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 usecompleted. @filefeed/sdk@2.1.0: outbound output options, self-hosted SFTP connection fields,deliveredstatus.@filefeed/sdk@2.2.0:filefeed.connections.getByName(name)— resolve a connection (and itsawsUserName) by its workspace-unique name.
Changed
- The entity formerly called
Clientis now calledConnection. The database row, IDs, and JSON shape are unchanged — only the name moved. - Connection names are unique per workspace.
- TypeScript types
Client,CreateClientParams,UpdateClientParamsare now aliases forConnection,CreateConnectionParams,UpdateConnectionParams. Source-compatible — existing code keeps compiling.
Deprecated
- HTTP: all
/clients/*routes when called withFileFeed-Version: 2026-05-25. They keep working but emitDeprecation: true. - SDK:
filefeed.clients.*methods. They proxy toconnections.*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-01is scheduled for sunset on 2027-05-25.
Additive updates (no version bump)
These shipped within2026-05-25 and are backwards compatible:
- Outbound uploads accept
connectionName(the connection’s human-readable name) onPOST /outbound/uploads. Connection resolution now matches the connectionname— the same path for hosted and self-hosted SFTP — so the name you created the connection with now works for self-hosted delivery. The legacyclientNamefield still works (resolved by name) but is deprecated;connectionNameis also returned on the upload status response. /pipelinesand/pipeline-runslist endpoints accept aconnectionNamefilter (alias of the deprecatedclientNamefilter).- Fixed: outbound
outputFormat: "csv"/"xml"without an explicitoutputFilenamenow delivers the file in the requested format instead of silently falling back to JSON. @filefeed/sdk@2.3.0published withconnectionNamesupport.- Static-value field mappings. A pipeline field mapping can now be a static
constant
{ target, value }(nosource) 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). ConfigureemailAllowedFormats(required, non-empty),emailAllowedSenders, andemailSubjectFilter. 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 requiresforce+ admin). - Per-connection notification preferences
(
GET/PUT /notifications/preferences/:connectionId). DeliverPIPELINE_RUN_FAILED/PIPELINE_RUN_SUCCEEDEDalerts overEMAIL/SLACK/SMS. - Direct file access.
GET /files/jsonfetches a processed JSON file by name;POST /files/searchsearches rows across processed files. - Zapier pipeline-run subscriptions.
POST/DELETE /webhooks/zapier/pipeline-run-events/{subscribe,unsubscribe}register a workspace-levelPIPELINE_RUN_EVENTwebhook for Zapier. - Schemas are defined by a JSON Schema
definitionobject (the SDK’s legacyfieldsarray is ignored by the API). Schema responses always includeisActive. Webhook signing secrets are returned only once on create and never on reads. @filefeed/sdk@2.5.0published with thedocuments,notifications, andfilesresources, Zapier webhook methods,Schema.definition,Pipeline.webhooks, andPipelineRun.client/isPipelineDeleted.- Pipeline run delta. New endpoint
GET /pipeline-runs/deltacompares 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 paginatedchangeslist. 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 asfilefeed.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 bydelimiter(default a single space), skipping empty values; atransform, if set, runs on the joined result. Providesourcesinstead ofsource, alongside the existing sourced and static-value mappings. Gated per workspace: until the feature is enabled for you, saving a pipeline that usessourcesreturns400. Contact support@filefeed.io to enable it.
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 withFileFeed-Version: 2024-09-01 will
receive 410 Gone:
Migration guides
- Upgrade to 2026-05-25 — Client → Connection rename