This guide details how to exchange data with Lead via SFTP, including the steps for file submission, processing, integration testing, and go-live readiness.
Connectivity for File Delivery
Lead uses SFTP with key-based authentication to ensure the secure transfer of all data.File Formats and Delimiters
Files are typically submitted in CSV format. Use a pipe (|) delimiter to separate data elements, and do not use a comma (,) or semicolon (;) delimiter. Specific data schemas define the required fields, data types, and formatting for each file.Details on which files you should submit for your use-case can be found at Program Files.
Data Patterns
- ID Semantics: The
client_prefix denotes a partner-generated unique ID for records being created or updated in Lead. To reference an existing record, use its ID without this prefix. Schema fields for such references may use semantic names (e.g.,replaced_byexpecting an existing card’s ID) or names indicating the object type (likeaccount_idreferencing an account originally defined viaclient_account_id). - Updating Data Records may be updated via file. Updating records via file submission means a complete overwrite. Ensure each submission for an existing client_id contains the entire updated record.
File Submission and Processing
Data Requirements
Depending on the nature of the file, files have differing expectations on what kind of data Lead expects.| Submission Requirement | File Types |
|---|---|
| New records and changes to existing records only | Customer, Customer Relationship, Applications, Accounts, Cards, Authorized Users, Collaterals |
| New entries only (no updates or unchanged records) | Transactions, Sales Responses, ACH files |
| Updates only (no new entries) | Transactions Update |
| All entries daily | Balances (for accounts not in closed status), Non-posted Transactions (until posted) |
All or Nothing Processing
All files submitted to Lead follow an all-or-nothing paradigm at the file level. When you submit a file, Lead will attempt to process it in its entirety. If any schema or business validation errors are found within the rows of that file, the entire file will be rejected. Each file type’s data schema page and overview pages outlines a non-exhaustive list of which specific schema and business validations are run for that file type.Workflows
Files submitted to Lead are processed in grouped workflows. Workflows are logical groups of files that are processed together based on their functional category. File processing is organized into the following workflow categories:| Workflow | Files | File Naming Convention | Ingestion Paradigm |
|---|---|---|---|
| Customer | Customer and Customer Relationship | <Batch_id>_<File_Type>_<Version>.csv | Batch Submission |
| Compliance* | Applications, Accounts, Cards, Authorized Users** | <Batch_id>_<File_Type>_<Version>.csv | Daily Submission |
| Financial | Balances, Transactions, Collaterals, Non-posted Transactions, Transaction Updates | <Date>_<File_Type>_<Version>.csv | Daily Submission |
| Sales | Sales Request (Lead), Sales Response (Client) | <Date>_<File_Type>_<Version>.csv | Daily Submission |
| Documents | PDF, JPG, JPEG Documents referenced within file data schemas. | <Date>_<Unique_Id>_<DocumentType>_<Version>.<FileExtension> Suggested naming convention, but any string file name is sufficient for the Documents directory. | N/A |
A Note About SalesIf your program is a credit-based program where Lead is originating receivables (e.g. a credit card or a term loan product), then we will also perform a sales handshake. This workflow runs after the Financial workflows pass validations for a given day. At that point, Lead then generates a Sales Request file for which you can then submit a Sales Response file accordingly. See this page for more details
Ingestion Paradigms
All files within a workflow are grouped together under specific Ingestion Paradigms, which dictate how the files are validated, processed, and resubmitted. Different file types and program configurations follow different rules for submission frequency and processing logic.Daily Submission
Applies to:- Financial Workflow
- Sales Workflow
- Compliance Workflow for partners onboarded prior to Q2, 2026
- On any given day T, our system expects a file containing activity for day T-1.
- The filename will reflect date T, but the data inside corresponds to activity from the previous day (T-1).
- Activity is expected to cover the full calendar day: 12:00 a.m. to 11:59:59 p.m. CT on T-1.
- Since the Central Time timezone can change between CST and CDT, we recommend having your code build the calendar day based on the “America/Chicago”. When processing your files, Lead will parse the timestamp with the current “America/Chicago” timezone, and extract the date from the timestamp. We then check that dates included are from T-1 (i.e., the date before the file’s date).
- You may only submit Day T+1’s file after Day T’s file has been successfully validated.
- This rule applies even if the file for a given day contains headers only with no activity.
See use case examples to determine Day 0 so you can begin testing and uploading files.
Batch Submission
Once you submit a file with abatch_id, Lead will wait five minutes for other files to be delivered with the same batch_id and then begin processing the full batch. Under Batch Submission, files within a workflow are grouped together. Files with no errors or dependencies on erroneous files will be processed successfully. For example - an Accounts file submission within a Compliance workflow may return a success message, even when an error exists in a Cards file uploaded with the same batch_id because no changes to the Accounts file are required.
Batch Submission will only return a cross-file validation failure when a file includes a reference to an object that Lead cannot find, either within the same batch, a previous batch, or an API submission.
Applies to:
- Compliance Workflow (Applications, Accounts, and Cards files) for programs onboarded from Q2 2026 onward.
Strict Batch Submission
Applies to:- Customer Workflow (Customer, Customer Relationship)
- If your program is configured to require the Customer Relationship file: Both files must be submitted with the same batch ID before a batch will begin to process.
- If your program is configured to only require the Customer file: Each file needs a unique batch ID.
batch_id. In this semantic, the workflow is atomic: all files required for the workflow must pass validation together. Strict Batching differs from Batching in that, if either file has any failures, the entire batch will fail to process, requiring resubmission of the full batch.
- Batching: All files in the workflow must be submitted with the same
batch_idto trigger processing. - Validation: If any file in the batch fails validation, the entire batch is rejected. No data from the batch is persisted.
Ensure that the Batch ID is unique for each batch; re-used batch IDs will not be processed.
Resubmitting Files
If a file or workflow receives an Error alert, that indicates that Lead has not saved any information contained within the file. You must resubmit it for Lead to process the files.- Correct the errors based on the Slack alert.
- Increment the
<Version>in the filename, keeping the same date or batch ID designator from the file name. - Resubmit the corrected file to the appropriate SFTP folder.

