Overview
The@filefeed/sdk package provides a type-safe client for the FileFeed API.
- Authentication via API key
- Resources: Pipeline Runs, Clients, Schemas, Pipelines, Webhooks
- Pagination helpers and typed responses
Quick links
API Reference
Explore endpoints with the API Playground.
Syncing Data
Fetch processed data and acknowledge runs.
Handling Errors
Retry patterns and structured error handling.
Installation
- npm
- yarn
- pnpm
Requirements
- Node.js >= 18
- TypeScript >= 5 (for TS projects)
Initialize the client
Next steps
- Call endpoints with the API Reference
Resources and methods
For endpoint details and payload schemas, see the API Reference.
clients
clients
Manage SFTP clients and connection details.
Common workflows
| Method | Signature | Description |
|---|---|---|
| list | list() | List clients. |
| retrieve | retrieve(id) | Get a client. |
| create | create(params) | Create a client with credentials. |
| update | update(id, params) | Update client details. |
| remove | remove(id) | Delete a client. |
| testConnection | testConnection(id) | Test SFTP connectivity (returns success/message). |
- Provision a client with SFTP credentials
- Rotate credentials, manage allowlists
- Verify connectivity before onboarding
schemas
schemas
Define and validate your target data model.
Common workflows
| Method | Signature | Description |
|---|---|---|
| list | list() | List schemas. |
| retrieve | retrieve(id) | Get a schema. |
| create | create(params) | Create a schema (fields, validation). |
| update | update(id, params) | Update schema details. |
| remove | remove(id) | Delete a schema. |
| validate | validate({ schemaId, data }) | Validate a payload against a schema. |
- Define required fields and validation rules
- Validate a sample payload pre-ingestion
pipelines
pipelines
Connect clients to schemas and define mappings/transforms.
Common workflows
| Method | Signature | Description |
|---|---|---|
| list | list({ clientId?, clientName? }) | List pipelines. |
| retrieve | retrieve(id) | Get a pipeline. |
| create | create(params) | Create a pipeline (mappings/transforms). |
| update | update(id, params) | Update pipeline configuration. |
| remove | remove(id) | Delete a pipeline. |
| toggleActive | toggleActive(id) | Enable/disable a pipeline. |
- Create a pipeline for a client + schema
- Adjust mappings, then toggle active for go-live
pipelineRuns
pipelineRuns
Manage processing jobs and retrieve processed data.
Common workflows
| Method | Signature | Description |
|---|---|---|
| list | list({ status?, clientId?, pipelineId?, pipelineName?, page?, limit? }) | Paginated runs. Filter by status/client/pipeline/ids. |
| retrieve | retrieve(id) | Get a single pipeline run. |
| getData | getData({ pipelineRunId, offset?, limit? }) | Paginated processed rows (offset-based, up to 1000 per page). |
| ack | ack({ pipelineRunId }) | Mark run as processed (idempotent). |
| reprocess | reprocess({ pipelineRunId }) | Re-run processing for a given run. |
| getOriginalFileUrl | getOriginalFileUrl({ pipelineRunId, expiresIn? }) | Presigned URL to the original file. |
| getProcessedFileUrl | getProcessedFileUrl({ pipelineRunId, expiresIn? }) | Presigned URL to the processed file. |
- Fetch completed runs, paginate data, then acknowledge the run
- Download original or processed file for audit trails
- Reprocess failed runs after fixing mapping or schema
webhooks
webhooks
Receive signed notifications for pipeline events.
Common workflows
| Method | Signature | Description |
|---|---|---|
| list | list() | List webhooks. |
| retrieve | retrieve(id) | Get a webhook. |
| create | create(params) | Create a webhook (URL, event type, secret). |
| update | update(id, params) | Update webhook configuration. |
| remove | remove(id) | Delete a webhook. |
| listDeliveries | listDeliveries(params) | Inspect delivery attempts and status codes. |
- Create a webhook for pipeline events
- Monitor delivery health and retry on failure